繁体   English   中英

使用cordova构建ios时出错

[英]Error building ios with cordova

使用cordova构建ios平台时遇到问题。 我拥有应用程序和设备的所有证书,但是当我尝试在我的 ios 设备中运行时,执行 ionic run 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。

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

ionic resources --icon

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

要在设备上进行模拟,您首先需要

ionic build ios

然后

ionic simulate ios

更新 xcode 也是一个好习惯。

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

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

在构建设置 > 标题搜索路径上。 不要删除类似的行,只需将其添加到末尾即可。

更新 - 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

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

希望有帮助。 小心!

我只对其他图像有同样的错误:

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

这发生在升级到Cordova 6.3.0 ,我已经解决了降级Cordova

现在快速修复:

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

只需使用:移除平台

cordova platform remove ios

并用旧的添加ios平台

cordova platform add ios@4.0.0 --save

它对我有用..

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

我试了几次,终于成功了。

  1. 使用ionic resources --icon ,可能遇到了新问题

“由于错误无法生成图像无法上传源图像:错误:读取ECONNRESET”

别着急,稍后试试

  1. 使用ionic platform remove ios执行成功后ionic platform remove ios use ionic platform add ios

不要使用ionic state reset

尝试将 config.xml 中的“\\”替换为“/”(反斜杠和斜杠)。

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

我已经多次发现这个问题,并且提供的一些答案直到今天都很好用,当时没有人工作。

我的环境:MacOS high Sierra 10.13、ionic 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 创建此文件夹后,添加平台照常工作。

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

我在cordova-ios@~4.5.1上遇到了类似的问题

离子科尔多瓦构建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更新:)

这是一个猫捉老鼠的问题,

  1. 未构建图标资源,因为未添加平台,并且
  2. 平台无法添加,因为图标资源不存在

ionic/cordova 非常不稳定,在 CI 管道中使用是一个噩梦。

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

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

离子平台rm ios

离子资源

离子平台添加ios

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

再次运行“离子科尔多瓦资源”。

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

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

$sudo npm install -g cordova@6.2.0

一旦您更新以下命令的cordova类型以删除平台

$sudo ionic cordova platform rm ios --save

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

$sudo ionic cordova platform add ios --save

我希望这会帮助你。

我遇到了同样的问题:

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

看起来相对路径是对 config.xml 的引用。 如果资源文件夹存在于“www”中,则您可能需要更新相对路径。

我能够通过更新“www/resources/...”的相对路径来解决这个问题。

您的资源可能尚未运行。

运行:

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 的项目,这个命令将安装必要的库。

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

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

确保添加: xmlns:cdv="http://cordova.apache.org/ns/1.0

到 config.xml 的小部件部分(在最顶部)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM