iOS分享图片到Facebook遇到的问题汇总

        对于分享到Facebook的教程,可以参照官方提供的文档进行操作。此文仅分享在使用Facebook SDK中遇到的那些坑。
1、CocoaPods问题:
我是采用CocoaPods来管理Facebook SDK的。

pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'

这里我下载的是最新版本的SDK 4.10.0。第一个坑出现了,居然编译不通过。如下图所示:
ios-facebook-compile-error
提示FBSDKCoreKit/FBSDKCoreKit.h找不到,参照Stackoverfolow上的问题。我的解决方案是修改Facebook的源代码,虽然这个方法不好,但是是有效的,终于迈过去了。

///<origin source (FBSDKErrorConfiguration.m)
#import <FBSDKCoreKit/FBSDKCoreKit+Internal.h>
///<changed source
#import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>

2、分享失败问题:
参照事例代码,实现了相关代码实现,点击分享按钮,居然直接提示失败了,参照我在Stackoverflow提的问题。我使用以前版本的Facebook SDK,是不会失败了,具体什么版本记不清楚了,反正是在CocoaPod之前的版本。对于新版本失败的解决方法如下,需要在iPhone的Settings->Facebook下登录Facebook账号,然后在分享就会走正常的分享流程了,如下图所示:
ios-facebook-settings

3、分享成功,但打开Facebook却看不到分享的内容:
这个问题也很坑,原来是因为在Facebook上注册的app是非live状态,参照stackoverflow上的解决方案,在网站上会提示你需要完善的信息,完善后启用app public功能,如下图所示:
facebook-make app-pubilic