PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)给出编译错误

Edm*_*ond 2 parse-platform parsefacebookutils

我正在尝试将facebook登录集成到我的解析应用程序中.我按照解析教程中提到的每一步进行操作.在下面的代码中,我收到编译错误.

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    line1: Parse.setApplicationId("xxx", clientKey: "yyy")
    line2: PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)       
    line3: PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)
    line4: return true
}
Run Code Online (Sandbox Code Playgroud)

第3行,我收到错误:

可选类型的值' [NSObject:AnyObject]'未展开; 你的意思是用' !'还是' ?'?

如果我使用' !' 手动解开它,因为launchOptions可以是nil,我得到:

致命错误:在展开Optional值时意外发现nil

如果我检查无,我得到:

NSInternalInconsistencyException',原因:'你必须通过调用来初始化PFFacebookUtils +initializeFacebookWithApplicationLaunchOptions

知道怎么解决吗?

Cas*_*ues 6

这是ParseSDK中的一个错误.在Parse修复​​此问题之前,您可以在PFFacebookUtils.h头文件中更改初始化函数声明

1)转到PFFacebookUtils.h

2)改变:

  • (void)initializeFacebookWithApplicationLaunchOptions:(NSDictionary*)launchOptions;

至:

  • (void)initializeFacebookWithApplicationLaunchOptions :( PF_NULLABLE NSDictionary*)launchOptions;

这个答案由Kiarash Akhlaghi提供,网址是https://developers.facebook.com/bugs/1462780714012820/