32

在创建新的 Cordova 2.1.0 项目并使用以前的 PhoneGap 应用程序中的一些代码更新 www 文件夹后,我收到错误消息。

clang: error: no such file or directory: '/Users/peterbanjo/Library/Developer/Xcode/DerivedData/OpuzMobile-bhwawiqfaptmxvfosawfabudgbkj/Build/Products/Debug-iphoneos/libCordova.a'

仅当我尝试在设备上运行应用程序时才会出现该错误 - 在模拟器中它工作正常。

我在目标 iPad 上运行 Xcode 4.5 和 iOS6。我尝试了一个干净的构建,libCordova.a 出现在 Build Phases > Link Library With Libraries 选项卡中,但它是红色的。

4

8 回答 8

43

通过从 1.4 升级,我发现 PhoneGap/Cordova 2.1.0 令人困惑的是我的应用程序中有两个项目。有 MyApplication.xcodeproj 和 CordovaLib.xcodeproj。解决此问题的更改需要应用于 CordovaLib 项目。

  • 将“仅构建活动架构”更改为“是”
  • 将文本文件 project.pbxproj 更新为这些值
  • 在模拟器和设备的构建模式之间切换(使用停止按钮旁边的选择菜单。不知何故,这似乎会导致检测到更改)。

它能为您提供帮助吗?我错过了什么?

PS:为了更好地理解这个问题,看看这个谷歌论坛线程

于 2012-09-27T13:05:06.733 回答
16

我正在使用 Cordova/Phonegap 2.9,这解决了我的问题。没有碰任何拱形的东西。我的一切都设置为 armv7 armv7s。

请按照以下步骤解决此问题:

  1. 转到项目设置和构建选项卡。
  2. 搜索“其他链接器标志”
  3. 双击 Release 的链接器标志并将 ${TARGET_BUILD_DIR}/libCordova.a 更改为 ${BUILT_PRODUCTS_DIR}/libCordova.a
  4. 对 Debug Clean 执行相同操作并再次构建存档
于 2013-08-20T00:37:31.420 回答
6

我有同样的错误并通过恢复到旧版本的cordova ios来修复它。

解决问题的步骤:

  1. 首先卸载cordova-ios,使用npm uninstall cordova-ios
  2. 安装旧版本的cordova-iosnpm install cordova-ios@4.4.0
  3. ionic cordova platform rm ios使用or删除现有的 ios 平台ionic platform rm ios
  4. 之后我们应该添加平台ionic cordova platform add ios@4.4.0ionic platform add ios@4.4.0
  5. 运行 ionic cordova build ios。

指令来自这里

于 2017-10-19T10:20:10.687 回答
3

为了让它工作,我从http://connect.apple.com下载了独立的 Xcode 4.4.1。使用这个版本,我可以使用 armv6 构建我的 phonegap 应用程序 :)

是的,在这种情况下,您的计算机上需要有两个 Xcode。

于 2012-10-29T22:53:14.180 回答
3

只需要从 YourProject 和 CordovaLib 中删除armv6 :从 CordovaLib 中删除 armv6 并对 YourProject 执行相同操作

这样做的后果是什么?显然,它仍在 iPhone 3GS 上运行,但不是以前的版本。

于 2012-10-03T22:57:05.260 回答
1

不要假设 haveStandard (armv7,armv7s) - $(ARCHS_STANDARD_32_BIT) 与上面的修复相同。手动将此值更改为 onlyarmv7并为我修复它。我非常沮丧。

于 2013-05-03T20:39:54.297 回答
1

看看这个https://groups.google.com/forum/?fromgroups=#!topic/phonegap/ywoc9wNydZ8

为我工作

-- OS X 10.8.2 XCode 4.5 iOS 6.0 PhoneGap 2.1.0

于 2012-09-28T11:00:24.023 回答
0

如果您在此处完成了所有操作,但仍然无法正常工作,并且除了发布和调试之外您还有单独的配置 - 对于此示例是生产。确保 Cordova 项目中存在“生产”构建配置。再次构建 Cordova 项目并构建 + 归档您的主项目。

于 2015-10-05T20:08:31.767 回答