在 RubyMotion 应用程序中使用 Facebook SDK
Posted
技术标签:
【中文标题】在 RubyMotion 应用程序中使用 Facebook SDK【英文标题】:Use Facebook SDK in RubyMotion app 【发布时间】:2012-10-08 21:42:23 【问题描述】:我试图在我的 rubymotion 应用中包含 Facebook SDK,但我收到以下错误:
架构 i386 的未定义符号: “_OBJC_CLASS_$_ASIdentifierManager”,引用自: FacebookSDK(FBSettings.o) "_OBJC_CLASS_$_SLComposeViewController" 中的 objc-class-ref,引用自: FacebookSDK(FBNativeDialogs.o) "_SLServiceTypeFacebook" 中的 objc-class-ref,引用自: +[FBNativeDialogs composeViewControllerWithSession:handler:] 在 FacebookSDK(FBNativeDialogs.o) ld: 找不到符号 架构 i386 clang:错误:链接器命令失败,退出代码 1 (使用 -v 查看调用) rake 中止!命令失败并显示状态 (1): [/Applications/Xcode.app/Contents/Developer...]
我已经尝试通过 cocoapod "Facebook-ios-SKD" 添加它
app.pods do
pod "Facebook-iOS-SDK"
end
作为供应商项目
app.vendor_project('vendor/FacebookSDK.framework', :static, :products => ['FacebookSDK'], :headers_dir => 'Headers')
我在这里做错了什么?如何让它正确链接?
【问题讨论】:
【参考方案1】:由于 Facebook SDK 3.1 具有特定于 iOS 6 的框架,因此我必须在 Rakefile 中将这些框架指定为“弱”。
app.weak_frameworks += %w(AdSupport Social)
这要归功于 Laurent Sansonetti 的修复。
【讨论】:
此外,这些框架似乎需要与weak_frameworks一起包含在app.frameworks配置中。以上是关于在 RubyMotion 应用程序中使用 Facebook SDK的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Rubymotion 在 ios 模拟器中指定用户位置
将 FMDB + SQLCipher 与 Rubymotion 一起使用?