我已经将我的 XCode 更新到 6.0.1 在此更新之前,我能够在模拟器和我的设备中构建我的项目。但是现在,它给我 Apple Mach-O Linker Error
我经常冲浪。我删除了 DerivedData 文件夹。仍有问题。
我正在构建一个 Phonegap 应用程序。请帮助我。
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_CDVWebViewDelegate", referenced from:
objc-class-ref in CDVInAppBrowser.o
"_OBJC_CLASS_$_CDVInvokedUrlCommand", referenced from:
objc-class-ref in CDVContacts.o
objc-class-ref in CDVFile.o
"_OBJC_METACLASS_$_CDVViewController", referenced from:
_OBJC_METACLASS_$_MainViewController in MainViewController.o
"_OBJC_CLASS_$_CDVPlugin", referenced from:
_OBJC_CLASS_$_CDVLogger in CDVLogger.o
_OBJC_CLASS_$_CDVContacts in CDVContacts.o
_OBJC_CLASS_$_CDVDevice in CDVDevice.o
_OBJC_CLASS_$_CDVNotification in CDVNotification.o
_OBJC_CLASS_$_CDVFile in CDVFile.o
_OBJC_CLASS_$_CDVFileTransfer in CDVFileTransfer.o
_OBJC_CLASS_$_CDVInAppBrowser in CDVInAppBrowser.o
...
"_OBJC_METACLASS_$_CDVPlugin", referenced from:
_OBJC_METACLASS_$_CDVLogger in CDVLogger.o
_OBJC_METACLASS_$_CDVContacts in CDVContacts.o
_OBJC_METACLASS_$_CDVDevice in CDVDevice.o
_OBJC_METACLASS_$_CDVNotification in CDVNotification.o
_OBJC_METACLASS_$_CDVFile in CDVFile.o
_OBJC_METACLASS_$_CDVFileTransfer in CDVFileTransfer.o
_OBJC_METACLASS_$_CDVInAppBrowser in CDVInAppBrowser.o
...
"_OBJC_CLASS_$_CDVViewController", referenced from:
_OBJC_CLASS_$_MainViewController in MainViewController.o
objc-class-ref in CDVDevice.o
objc-class-ref in CDVFile.o
"_CDVLocalNotification", referenced from:
-[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o
"_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVPluginResult", referenced from:
objc-class-ref in CDVContacts.o
objc-class-ref in CDVDevice.o
objc-class-ref in CDVNotification.o
objc-class-ref in CDVFile.o
objc-class-ref in CDVLocalFilesystem.o
objc-class-ref in CDVAssetLibraryFilesystem.o
objc-class-ref in CDVFileTransfer.o
...
"_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_CLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVUserAgentUtil", referenced from:
objc-class-ref in CDVInAppBrowser.o
"_OBJC_CLASS_$_CDVCommandQueue", referenced from:
_OBJC_CLASS_$_MainCommandQueue in MainViewController.o
"_OBJC_METACLASS_$_CDVCommandQueue", referenced from:
_OBJC_METACLASS_$_MainCommandQueue in MainViewController.o
"_CDVPluginHandleOpenURLNotification", referenced from:
-[AppDelegate application:handleOpenURL:] in AppDelegate.o
-[CDVInAppBrowser openInSystem:] in CDVInAppBrowser.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
最佳答案
此类问题通常发生在更新您的 Xcode 时,但您使用的任何第三方工具可能无法使用此架构 armv64
进行更新。
因此,从 XCode 中单击您的项目导航器。
从您的项目中单击Targets
,然后从中单击BuildSettings
。
在其中找到Valid Architectures
。
只需双击它并从中删除 armv64
。
确保只有 armv7 和 armv7s
。
如果这不起作用,那么也尝试删除 armv7s
。
请检查您的所有框架是否已正确链接和引用。尝试删除并再次添加该第三方工具的框架。
请检查是否正确引用了所有框架。
就我而言,这对我有用。
清理并构建您的项目。现在应该可以正常工作了。
希望对你有帮助。
关于ios - XCode 6.0.1 上的 Apple Mach-O 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26036826/