应用程序在设备上显示 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
iOS Facebook SDK 连接在 iDevice 上失败