iPhone ARC 和 Facebook SDK



我得到各种与Facebook的SDK构建错误,因为我的应用程序使用ARC。我试图从编译器中删除Facebook文件以避免这种情况,但当我删除Facebook时,我得到了Apple Mach-O错误。m文件。如果我把它放回编译源中,就会得到ARC错误。

有人遇到这个吗?

是否使用编译器标志将它们从arc中排除-fno-objc-arc?你可以在这里看到答案

这就是为什么通过复制和粘贴文件来分发共享库是不好的。一个库应该作为它自己的Xcode项目来分发,并带有一个静态库目标,这样你的项目和你使用的库的构建设置要求就不会搞砸了。

在这里为Facebook SDK提交一个bug: https://github.com/facebook/facebook-ios-sdk/issues

同时在Facebook SDK的实现文件中添加-fno-objc-arc标志。您可以通过;

  1. 选择应用程序目标
  2. 进入Build Phases选项卡
  3. 添加Compile Sources部分下的每个文件。

新的SDK没有明确支持ARC开箱即用,但是有一个shell脚本来构建一个可以在ARC项目中使用的静态库。找到你本地的git仓库,然后运行

% ~/facebook-ios-sdk/scripts/build_facebook_ios_sdk_static_lib.sh

这将在/lib/facebook-ios-sdk文件夹下创建静态库(例如~/facebook-ios-sdk/lib/facebook-ios-sdk)。然后你可以把Facebook - iOS - SDK文件夹拖到app的Xcode项目中,以包含iOS Facebook SDK静态库。

让Facebook iOS sdk与ARC兼容实际上只需要做很少的改变。我已经在我的代码中做了更改,但是,我不知道谁将它发送回社区,任何指针吗?

这里是我写的一篇文章,解释了如何在Xcode 4.2上简单地使用ARC:http://nabtech.wordpress.com/2012/02/02/facebook-ios-sdk-and-arc/

最新更新