clang:错误:没有这样的文件或目录:'/ Users / admin / Library / Developer / Xcode / DerivedData / __ TESTING __- fzbkvdbnndieeagphtjhdndiyttl / Build / Products / Debug-iphoneos / libCordova.a'
如何让这个缺少 libCordova.a ?
align top http://www.kerrydeaf.com/libCordova.a.png
更新:对于Simon Germain。 align top http://www.kerrydeaf.com/update.png
更新:对于Simon Germain。我没有看到“身份和类型”。我可以看到“身份”。我正在使用xcode 4.5 align top http://www.kerrydeaf.com/id.png
align top http://www.kerrydeaf.com/update.png
更新:对于Simon Germain。我得到了身份。
align top http://www.kerrydeaf.com/cor.png
更新:对于塞缪尔
align top http://www.kerrydeaf.com/armv6.png
更新:对于Simon Germain - 建筑。
更新:对于james0n - armv。
align top http://www.kerrydeaf.com/new.png
更新:对于Simon Germain - 建筑。
更新:对于james0n - armv。
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CDVURLProtocol", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_CDVViewController", referenced from:
_OBJC_CLASS_$_MainViewController in MainViewController.o
"_OBJC_METACLASS_$_CDVViewController", referenced from:
_OBJC_METACLASS_$_MainViewController in MainViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
更新:对于james0n - 有效架构。
align top http://www.kerrydeaf.com/valid.png
更新:现在解决了!在xcode中确保ios 6上的所有armv7和armv7s。它奏效了。
答案 0 :(得分:18)
对于您的项目,将构建设置“仅构建活动体系结构”设置为yes。
(也许还为CordovaLib项目将Architectures构建设置设置为“Standard(armv7,armv7s)”。)
答案 1 :(得分:9)
(和其他许多人一样)同样的问题,这就是我所做的:
架构:标准(armv7,armv7s)
仅构建活动架构:是
然后它神奇地起作用,我认为步骤3和4可以做到。
答案 2 :(得分:4)
只需要从YourProject和CordovaLib中删除 armv6 :
这样做的后果?显然,它仍在使用iPhone 3GS,但不是以前的版本..
答案 3 :(得分:4)
我遇到了和你一样的问题,可以很好地部署到模拟器而不是设备上。这些建议的答案都不适合我。
以下是 为我工作的内容:
将部署目标设置为v4.3,并在CordovaLib
项目的项目设置上,将Build Active Architecture Only
设置为Yes
。 (主项目不需要)
重要的是,做一个产品 - >清洁和重建。
答案 4 :(得分:3)
确保CordovaLib产品的目标设置为右侧面板上的“相对于内置产品”,左侧的第一个标签,位于“标识和类型”下。
答案 5 :(得分:1)
从此处下载Cordova安装程序http://phonegap.com/download。确保它与您当前使用的版本相同(例如2.0)。
然后安装在ios目录中找到的dmg。
然后运行.pkg安装程序。
重启Xcode。
答案 6 :(得分:1)
你必须运行更新脚本,我知道这可能是一个痛苦的屁股,但这就是它需要的。
从官方网站下载并打开Phonegap 2.1软件包。打开终端窗口,然后cd到安装目录
您需要先创建一个新项目:
./create [project_folder_path] [package_name] [project_name]
然后您需要设置库的路径。
/update_cordova_subproject [xcodeproj file]
现在打开您的项目并将部署目标设置为4.3,您应该准备好了。希望有所帮助
编辑:
这是我的配置在CordovaLib项目中的样子
答案 7 :(得分:1)
另外 - 确保您一次没有打开多个PhoneGap Xcode项目 - 我之间的冲突正在发生。 “工作区已在另一个工作区中打开”循环类型。
答案 8 :(得分:1)
花了很多时间来处理更多错误后,这对我有用。基本上结合了上述的大部分内容:
不要在任何架构列表中包含armv7,因为它不会为设备构建。
在iOS 6的模拟器和iPad上测试。使用Phonegap 2.1.0和XCode 4.5.1。
更新:如果您想支持iPhone 5,则需要armv7s。它需要https://issues.apache.org/jira/browse/CB-1360中的修复,它将在Cordova 2.2.0中。 (尚未尝试过,在iPad项目上工作。)
答案 9 :(得分:1)
我通过从有效架构设置中删除armv6和i386架构来修复此问题
答案 10 :(得分:0)
我也有这个问题。我想这是因为我以前安装了旧版本的手机间隙,在xcode中安装了一些东西。我卸载了,然后重新安装了xcode。然后我运行了带有手机间隙的Uninstall Cordova.applescript。这解决了红色libCordova.a
的问题答案 11 :(得分:0)
除了其他一些建议之外&帖子,我发现我在AdHoc版本中遇到了这个问题。请注意,我在调试期间想出了这个,因为如果我设置编辑方案>将构建配置存档到"发布"它会工作正常,但如果设置为AdHoc它会给我一个链接错误,告诉我无法找到这个文件:
/Users/jason/Library/Developer/Xcode/DerivedData/MommyNearest-ceourmykvgxdekbkmzenuvhcfnzk/Build/Intermediates/ArchiveIntermediates/MommyNearest/BuildProductsPath/Adhoc-iphoneos/libCordova.a
这实际上是问题所在的一个很好的线索,也就是CordovaLib子项目不具备AdHoc配置(它只有#34; Debug"和#34; Release"配置)。
因此,在构建AdHoc版本(与Testflight一起使用)时,它不会正确地为此文件创建符号链接。一旦我添加了一个" AdHoc"配置到CordovaLib子项目,这开始工作。