在 RubyMotion 应用程序中使用 Facebook SDK

Posted

技术标签:

【中文标题】在 RubyMotion 应用程序中使用 Facebook SDK【英文标题】:Use Facebook SDK in RubyMotion app 【发布时间】:2012-10-08 21:42:23 【问题描述】:

我试图在我的 ruby​​motion 应用中包含 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 一起使用?

UIScrollView 不使用 RubyMotion 滚动

在RubyMotion中使用@selector

RubyMotion 中 CoreData 迁移的问题

RubyMotion:操作无法完成。 (com.apple.InterfaceBuilder 错误 2001。)