2012-03-04 274 views
3

我有一个iPhone应用程序正在向Facebook发送消息,它与iOS SDK 4一起工作正常,但当试图在IOS SDK 5上运行时,它不工作并显示发布并保留为错误。Facebook API支持IOS SDK 5

我们也完成了“禁用ARC”和FB文件的编译工作,但我们的其他项目源不需要制作“禁用ARC”,因为它是典型的iOS 5项目。如果我们“禁用ARC”,那么我们必须在所有来源中添加“释放”,“保留”等。是什么使FB编译没有“禁用ARC”。无论是可以或不可以解决?

我们怎样才能解决这个问题?或者发送有用的链接,下载运行在IOS SDK5 Facebook的API。

+0

如果你关闭ARC,你会摆脱这些错误(并得到一大堆新的:-) – 2012-03-04 08:09:23

+0

@kalyan安德拉你有你的解决方案...? – Kamarshad 2012-03-04 18:43:42

回答

8

这些错误来了,因为你与ARC启用类嵌入非ARC文件(脸谱类)(我想,当你提到的错误retain,release)。

我想简短说明,启用Automatic Reference Counting(ARC),该编译器会自动在您的程序的正确位置插入retainreleaseautorelease。您不再需要担心关于这一点,因为编译器为你做。

我认为,使用Facebook类(SDK)中ios 5,无需另外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)编译信息源 - >设置"-fno-objc-arc"所有Facebook类的标志。

现在再次运行应用程序。

我希望它会帮助你。

0

您可以禁用自动引用计数对于这些类。

请按照步骤操作。在目标 - >构建阶段 - >编译源中添加编译器标志。

的Xcode Disabling ARC

使用的标志是写它之后-fno-objc-arc按回车!您必须双击编译器标志下面的那一行的右列。希望它有帮助谢谢:)