XCode/PhoneGap - Apple Mach-O 链接器错误
Posted
技术标签:
【中文标题】XCode/PhoneGap - Apple Mach-O 链接器错误【英文标题】:XCode/PhoneGap - Apple Mach-O Linker Error 【发布时间】:2013-08-13 19:26:33 【问题描述】:我刚刚完成了我的应用程序的编程。我尝试归档应用程序以供提交,但没有成功,显示以下错误。此问题仅在我想存档应用程序时发生,在测试设备或模拟器上运行完美(无错误)。
Ld /Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/MyApp normal armv7
cd /Users/Admin/Desktop/MyApp3
setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphoneos -L/Users/Admin/Desktop/MyApp3 -F/Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphoneos -filelist /Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/IntermediateBuildFilesPath/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/MyApp.LinkFileList -dead_strip -weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load /Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/libCordova.a -ObjC -fobjc-link-runtime -miphoneos-version-min=6.1 -lxml2 -lxml2.2 -larchive.2 -framework CoreLocation -framework ImageIO -framework OpenAL -framework AssetsLibrary /Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphoneos/libCordova.a -framework Foundation -weak_framework UIKit -framework CoreGraphics -framework AddressBook -framework AddressBookUI -framework AudioToolbox -weak_framework AVFoundation -framework CFNetwork -framework MediaPlayer -framework QuartzCore -framework SystemConfiguration -framework MobileCoreServices -weak_framework CoreMedia -framework CoreLocation -lCordova -o /Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/MyApp
ld: file not found: /Users/Admin/Library/Developer/Xcode/DerivedData/MyApp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/libCordova.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
(null): File not found: /Users/Admin/Library/Developer/Xcode/DerivedData/Myapp-ekptdmvfytpoeoaedgfvjzqudoqa/Build/Intermediates/ArchiveIntermediates/Myapp/InstallationBuildProductsLocation/Applications/libCordova.a
(null): Linker command failed with exit code 1 (use -v to see invocation)
过去几天我已经用谷歌搜索了**。我尝试了我发现的一切。我将 Build Active Architecture Only 设置为“YES”,删除了搜索路径(它们已经是空的),更改了 ios 版本,设置了 Validate Build Product 和其他内容。
我使用终端和 ./create 创建我的项目。
我什至创建了一个新的干净项目,并在其中发布了我的源代码。每次都会出现问题(即使我尝试归档新项目而不更改源代码)
使用: XCode 4.6.3 PhoneGap 2.9.0
我很绝望,希望得到帮助。谢谢。
【问题讨论】:
【参考方案1】:解决方案
我找到了解决方案/解决方法。 (无法发布,因为如果 10Rep. 限制,必须等待 8 小时)
在 Target 的 Build Settings 中,找到“Other Linker Flags” 更改 $(TARGET_BUILD_DIR)/libCordova.a 到 $(BUILT_PRODUCTS_DIR)/libCordova.a或者只需访问 Cordova 站点并下载 Cordova 3.0.0
(虽然旧称的“闪屏-白闪”又回来了)
使用 Cordova 3.0 这个问题已修复 :) 归档工作很好。
【讨论】:
【参考方案2】:我遇到了同样的问题...在模拟器和测试设备上工作正常,在 Cardova 和 MyApp 项目上将 Build Active Architecture 设置为“YES”,使用终端 ./create 创建,从头开始重建项目。 使用:XCode 4.6.3 PhoneGap 2.9.0
更新: 使用 PhoneGap 3.0.0 重建了我的项目,现在可以存档了。
【讨论】:
【参考方案3】:对我来说,这是通过将 xcode 中构建设置中的“发布”设置的“仅构建活动架构”设置为“是”来解决的。
FlyingLemon 描述的修复已经完成,因为我有最新版本的 PhoneGap。
Phonegap 版本 3.4.0-0.19.13
Xcode 5.1 版
【讨论】:
以上是关于XCode/PhoneGap - Apple Mach-O 链接器错误的主要内容,如果未能解决你的问题,请参考以下文章
xcode 4 + phonegap ...在构建时不更新JS?
如何在 phonegap xcode 中创建 sqlite 数据库?