Facebook API 支持 IOS SDK 5。

3
我有一个 iPhone 应用程序,它正在向 Facebook 发送消息。在使用 IOS SDK 4 运行时它运作良好,但在尝试在 IOS SDK 5 上运行时出现错误,显示出“release”和“retain”的错误。
我们已经完成了“禁用 ARC”,并且 FB 文件已经编译成功,但是我们的其他项目源代码不需要进行“禁用 ARC”,因为它是一个典型的 iOS 5 项目。如果我们“禁用 ARC”,那么我们必须在所有源代码中添加“release”、“retain”等。有没有不禁用 ARC 的解决方案?是否可能?
我们应该如何解决这个问题?或者发送有用的链接以下载在 IOS SDK 5 上运行的 Facebook API。

如果你关闭ARC,你将摆脱这些错误(并且会得到一堆新的错误 :-))。 - Michael Dautermann
@kalyan Andra,你解决了吗? - Kamar Shad
2个回答

7
这些错误是因为您将非ARC文件(Facebook类)与启用ARC的类(我想,因为您提到了保留和释放错误)嵌入在一起。
简单来说,启用“自动引用计数(ARC)”后,编译器会自动在程序中正确的位置插入retain、release和autorelease。您不再需要担心这些问题,因为编译器会代替您完成。
我认为,在iOS 5中使用Facebook SDK时,无需另外一个iOS 5兼容的Facebook SDK。我想,Facebook没有创建iOS 5兼容的Facebook iOS SDK。因此,在启用ARC的代码中使用这些Facebook类时,您只需要为这些Facebook类禁用ARC(即我们告诉编译器我们将负责管理这些类的内存(Facebook类))。
这样做后,您就不会再遇到那些错误了。禁用这些Facebook类的ARC后,您可以轻松地创建和运行(构建)应用程序而不会出现错误。
为了禁用ARC,您只需要设置“-fno-objc-arc”标志,请按以下步骤操作:
1. 进入应用程序目标。 2. 选择构建阶段。 3. 编译源文件->为所有Facebook类设置“-fno-objc-arc”标志。
现在再次运行应用程序。
希望这能帮到您。

0

你可以为这些类禁用自动引用计数

只需按照以下步骤操作。在Targets -> Build Phases -> Compile Sources中添加编译器标志。

xcodeDisabling ARC

使用的标志是-fno-objc-arc,输入后按回车键!您需要双击编译器标志下的行右侧列。希望能帮到您,谢谢 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接