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?

在多个 Xcode+PhoneGap 项目之间共享代码

如何在 phonegap xcode 中创建 sqlite 数据库?

XCode PhoneGap 本地化

Xcode PhoneGap navigator.connection 未定义

无法使用xcode phonegap在ios中隐藏状态栏