使用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。
答案 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)
我尝试过几次,最后成功了。
ionic resources --icon
,也许遇到了新问题&#34;由于错误而无法生成图片无法上传源图片:错误:读取ECONNRESET&#34;
不用担心,稍后再试试ionic platform remove ios
何时成功执行
使用ionic platform add ios
不要使用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)
这是猫和老鼠的问题,
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组件。