支持 IOS SDK 5 的 Facebook API
Posted
技术标签:
【中文标题】支持 IOS SDK 5 的 Facebook API【英文标题】:Facebook API which supports IOS SDK 5 【发布时间】:2012-03-04 08:03:22 【问题描述】:我有一个 iPhone 应用程序正在向 Facebook 发送消息,它在 ios SDK 4 上运行良好,但是当尝试在 IOS SDK 5 上运行时,它无法运行,并显示释放和保留为错误。
我们也完成了“禁用 ARC”,并且 FB 文件编译得很好,但是我们的其他项目源不需要制作“禁用 ARC”,因为它是一个典型的 iOS 5 项目。如果我们“禁用 ARC”,那么我们必须在所有源中添加“释放”、“保留”等。没有“禁用ARC”的情况下使FB编译的解决方案是什么。是否可能?
我们如何解决这个问题?或发送有用的链接以下载在 IOS SDK5 上运行的 Facebook API。
【问题讨论】:
如果您关闭 ARC,您将摆脱这些错误(并获得一大堆新错误 :-) @kalyan Andra 你有你的解决方案吗...? 【参考方案1】:这些错误即将出现,因为您使用启用 ARC 的类嵌入非 ARC 文件(Facebook 类)(我想,正如您提到的错误 retain,release
。)。
我想简单解释一下,启用Automatic Reference Counting(ARC)
后,编译器会自动在程序的正确位置插入retain
、release
和autorelease
。您不再需要担心这些,因为编译器会为您完成。
我认为在ios 5
中使用Facebook 类(SDK),不需要另一个ios 5
兼容Facebook SDK
。我想是的,Facebook 还没有创建ios 5
兼容facebook ios SDK
。
所以在这里为了在ARC
启用代码(ios 5
)中使用这些 Facebook 类,你只需要为这些 Facebook 类禁用ARC
(即我们向编译器暗示我们将要注意内存管理对于这些类(Facebook Classes
))。
这样做之后,您将永远不会遇到这些错误。
为这些 Facebook 类禁用 ARC
后,您可以轻松创建运行(构建)应用程序而不会出错。
要禁用ARC
,您只需要设置"-fno-objc-arc"
标志,看看你会怎么做。
1) 转到应用程序目标。
2) 选择构建阶段。
3) 编译源->为所有 Facebook 类设置 "-fno-objc-arc"
标志。
现在再次运行应用程序。
希望对你有帮助。
【讨论】:
【参考方案2】:您可以为这些类禁用自动引用计数。
只需按照步骤操作即可。您在 Targets -> Build Phases -> Compile Sources 中添加编译器标志。
xcode
使用的标志是-fno-objc-arc
写完后回车!您必须双击 Compiler Flags 下行的右列。希望对你有帮助 谢谢:)
【讨论】:
以上是关于支持 IOS SDK 5 的 Facebook API的主要内容,如果未能解决你的问题,请参考以下文章
MonoTouch (Xamarin.iOS) Facebook 应用程序切换支持 iOS 5+
facebook-ios-sdk 是不是使用 iOS 6 Facebook 集成来支持登录而不打开本机 Facebook 应用程序?
Facebook SDK 错误 Domain=com.facebook.sdk Code=5 在 ios 中获取好友列表时