应用程序在设备上显示 facebook SDK 的链接器错误

Posted

技术标签:

【中文标题】应用程序在设备上显示 facebook SDK 的链接器错误【英文标题】:Application showing linker error for facebook SDK on device 【发布时间】:2012-12-21 10:22:55 【问题描述】:

我的应用程序在模拟器上运行良好,没有任何错误。我在我的应用程序中使用 facebook SDK。当我尝试在设备上运行它时,它会显示链接器错误。我经历了一些类似的问题并尝试了他们的解决方案,如以下链接

tried this solution

还有一个解决方案,说取消选中启用 OpenMP 支持对他们有用,但我在我的 xcode4.5 中找不到这个选项。

Ld "/Users/devusa/Library/Developer/Xcode/DerivedData/Virtual_Mirrorr-bsbznuqiwhaypbbjiftsqpwpmkdo/Build/Intermediates/Virtual Mirrorr.build/Debug-iphoneos/Virtual Mirror.build/Objects-normal/armv7s/Virtual Mirror" normal armv7s
cd "/Users/devusa/Documents/Start/Virtual Mirrorr"
setenv IPHONEOS_DEPLOYMENT_TARGET 4.3
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 armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -L/Users/devusa/Library/Developer/Xcode/DerivedData/Virtual_Mirrorr-bsbznuqiwhaypbbjiftsqpwpmkdo/Build/Products/Debug-iphoneos -F/Users/devusa/Library/Developer/Xcode/DerivedData/Virtual_Mirrorr-bsbznuqiwhaypbbjiftsqpwpmkdo/Build/Products/Debug-iphoneos "-F/Users/devusa/Documents/Start/Virtual Mirrorr" -filelist "/Users/devusa/Library/Developer/Xcode/DerivedData/Virtual_Mirrorr-bsbznuqiwhaypbbjiftsqpwpmkdo/Build/Intermediates/Virtual Mirrorr.build/Debug-iphoneos/Virtual Mirror.build/Objects-normal/armv7s/Virtual Mirror.LinkFileList" -dead_strip -lsqlite3.0 -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=4.3 -framework MessageUI -framework QuartzCore -framework SystemConfiguration -framework UIKit -framework Foundation -framework CoreGraphics -framework FacebookSDK -o "/Users/devusa/Library/Developer/Xcode/DerivedData/Virtual_Mirrorr-bsbznuqiwhaypbbjiftsqpwpmkdo/Build/Intermediates/Virtual Mirrorr.build/Debug-iphoneos/Virtual Mirror.build/Objects-normal/armv7s/Virtual Mirror"

ld:文件是通用的(3 个切片)但不包含一个(n)armv7s 切片:/Users/devusa/Documents/Start/Virtual Mirrorr/FacebookSDK.framework/FacebookSDK for architecture armv7s clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

【问题讨论】:

【参考方案1】:

三个选项:

    更新到较新版本的 Facebook API 将 armv7s 架构添加到 Facebook 框架的构建设置中 从应用的构建设置中移除 armv7s 架构

基本上,armv7s 是 iPhone 5 和 iPad 4 上使用的架构。您的应用支持它,但您使用的 Facebook 框架不支持。

【讨论】:

谢谢它解决了我的问题,但是删除 armv7s 会导致在 iPhone5 和 iPad4 上运行我的应用程序时出现任何问题? 我不应该。话虽如此,我把它作为第三个选项是有原因的。

以上是关于应用程序在设备上显示 facebook SDK 的链接器错误的主要内容,如果未能解决你的问题,请参考以下文章

在设备上运行应用程序时,iOS Facebook SDK“用户取消登录”?

Facebook SDK 4.0 iOS 不再快速切换到设备上安装的 Facebook APP

使用 facebook sdk 为应用程序生成哈希键

iOS Facebook SDK 连接在 iDevice 上失败

Facebook SDK 3.6 for iOS 设备上的错误 2

Facebook SDK 登录问题