使用cordova构建ios时出错

时间:2016-07-27 14:17:35

标签: ios cordova

使用cordova构建ios平台时遇到问题。我拥有应用程序和设备的所有证书,但是当我尝试在我的ios设备中运行时,执行离线运行ios,控制台会返回此错误:

Error: Source path does not exist: resources/ios/icon/icon-40@3x.png

此路径写在config.xml文件中。

我试图在xCode中运行它,但问题是:

Cordova/CDVViewController.h not found

我读了很多可能的解决方案,但对我来说都有用。

我的xCode版本是7.3.1,cordova版本是6.3.0,cordova ios版本是4.2.0。

17 个答案:

答案 0 :(得分:60)

如果您缺少图标,则可以运行命令

ionic resources --icon

这将生成所有带有在任何设备上运行所需像素的图标。

要在设备上模拟您首先需要

ionic build ios

然后

ionic simulate ios

让xcode保持最新也是一种很好的做法。

如果您仍然收到错误,可以粘贴此行

"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"

在构建设置>标题搜索路径。 不要删除相似的行,只需在末尾添加它。

答案 1 :(得分:38)

更新 - 03-08-2017

> ionic cordova resources

旧的CLI命令:

我遇到了同样的错误,重新运行后ionic resources它就消失了。

问题是我在图标的路径中有Windows样式的斜杠(反斜杠),即我遇到的错误是:

Error: Source path does not exist: resources\ios\icon\icon-40.png

因此,将反斜杠转换为斜线可以解决它。

<强>更新 关于你的第二个错误,它帮助我重置状态:

ionic state reset

在运行此命令之前,请确保ios中的cordovaPlatforms下列出了package.json。然后ionic会自动重新下载您的插件并准备好构建。

希望有所帮助。小心!

答案 2 :(得分:19)

我只和其他图片有同样的错误:

  

源路径不存在:resources/ios/icon/icon-40@2x.png

这是在升级到Cordova 6.3.0之后发生的,我已经解决了它降级Cordova

目前的Quickfix:

npm uninstall -g cordova
npm install -g cordova@6.2.0

答案 3 :(得分:11)

使用: 删除平台

cordova platform remove ios

使用旧版本添加ios平台

cordova platform add ios@4.0.0 --save

它对我有用..

@ 4.0.0将自动选择以前的版本

答案 4 :(得分:3)

我尝试过几次,最后成功了。

  1. 使用ionic resources --icon,也许遇到了新问题
  2. &#34;由于错误而无法生成图片无法上传源图片:错误:读取ECONNRESET&#34;

    不用担心,稍后再试试

    1. 使用ionic platform remove ios 何时成功执行 使用ionic platform add ios
    2. 不要使用ionic state reset

答案 5 :(得分:3)

尝试替换&#34; \&#34;用&#34; /&#34; config.xml中的(反斜杠和斜杠)。

如果您在Windows系统上创建项目并转到macOS进行iOS编译,它仍然具有Windows URI格式。

答案 6 :(得分:1)

我与 cordova-ios@~4.5.1

有类似的问题
  

离子cordova build ios

> cordova build ios
Error: Source path does not exist: resources\android\icon\drawable-xhdpi-icon.png

[ERROR] An error occurred while running cordova build ios (exit code 1).
  

离子cordova平台添加ios

> cordova platform add ios --save
Using cordova-fetch for cordova-ios@~4.5.1

Adding ios project...

Creating Cordova project for the iOS platform:

Path: platforms/ios
Package: -
Name: -
iOS project created with cordova-ios@4.5.4

Error: Source path does not exist: resources\android\icon\drawable-xhdpi-icon.png

我删除了ios平台

ionic cordova platform remove ios

使用旧版本添加ios平台

ionic cordova platform add ios@4.0.0

这对我有用,等待 Cordova 更新:)

答案 7 :(得分:0)

我使用了无脑方式,但是它有效。我临时添加了资源,并添加了他们想要的名称。

就像我复制并粘贴图像icon-20 copy.png一样,然后将其重命名为我需要的资源,例如icon-small@2x.png

答案 8 :(得分:0)

您的资源可能没有运行。

运行:

npm i -g cordova-ionic platform rm ios
ionic platform rm ios // You want to do this just so when you recreate you have necessary resouces
ionic cordova resources
ionic cordova build --release <ios/android>

此解决方案应该有更多答案,因为ionic是基于npm的项目,此命令将安装必要的库。

答案 9 :(得分:0)

这是猫和老鼠的问题,

  1. 由于未添加平台和
  2. ,因此未构建图标资源
  3. 无法添加平台,因为图标资源不存在

ionic / cordova非常不稳定,并且是在CI管道中处理的噩梦。

这使CI管道崩溃了。只需继续删除并添加android / ios平台并使用ionic cordova resources --force

来构建资源

答案 10 :(得分:0)

我遇到了同样的问题:

  

错误:源路径不存在:resources/ios/icon/icon-40@3x.png

看起来相对路径是对config.xml的引用。如果资源文件夹存在于&#39; www&#39;内,则可能需要更新相对路径。

我能够通过更新&#34; www / resources /..."的相对路径来解决这个问题。

答案 11 :(得分:0)

我已经多次发现这个问题,并且一些提供的答案在今天没有人工作的情况下运作良好。

我的环境:MacOS高Sierra 10.13,离子cli 3.18.0和cordova 7.1.0。

我的问题是,如果我运行ionic cordova prepare,它就说我需要添加一个平台,如果我添加了一个ionic cordova platform add ios的平台,它就会失败,并且答案中指定了错误:

Error: Source path does not exist: resources/ios/icon/icon-40@3x.png

解决了我的问题是手动创建平台文件夹:mkdir platforms。创建此文件夹后,添加平台就像往常一样。

我希望它可以帮助那里的人。

答案 12 :(得分:0)

您只需要更新cordova以修复此错误:更新命令下面的cordova运行

$sudo npm install -g cordova@6.2.0

更新cordova type below命令后删除平台

$sudo ionic cordova platform rm ios --save

然后使用以下命令再次添加平台

$sudo ionic cordova platform add ios --save

我希望这会对你有所帮助。

答案 13 :(得分:0)

我不得不手动复制任何其他项目仓库中的文件 例如https://github.com/sphilee/eTAS_GPS/tree/master/resources/ios

答案 14 :(得分:0)

它说资源目录只包含空文件夹。下载此仓库(https://github.com/ionic-team/ionic2-app-base/tree/master/resources)  并替换资源目录

再次运行“ionic cordova resources”。

答案 15 :(得分:0)

运行这些命令为我解决了这个问题:

  

离子平台rm ios

     

离子资源

     

离子平台添加ios

答案 16 :(得分:-1)

确保添加: 的xmlns:CDV =&#34; HTTP://cordova.apache.org/ns/1.0

到config.xml的小部件(最上面)

这将添加所有必要的Cordova组件。