PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) 给出编译错误
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) giving compilation error
我正在尝试将 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
}
在 第 3 行 中,出现错误:
Value of optional type '[NSObject:AnyObject]
' not unwrapped; did you
mean to use '!
' or '?
'?
如果我使用“!
”手动解包,因为 launchOptions 可以为 nil,我得到:
Fatal error: unexpectedly found nil while unwrapping an Optional value
如果我检查 nil,我得到:
NSInternalInconsistencyException
', reason: 'You must initialize
PFFacebookUtils with a call to
+initializeFacebookWithApplicationLaunchOptions
知道如何解决吗?
这是 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/
提供
问题是 ParseSDK 的一个错误,它不接受 nil launchOptions
根据 Roger Ingouacka 在
https://developers.facebook.com/bugs/1462780714012820/
if let launchOptions = launchOptions {
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
} else {
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions([NSObject:AnyObject]())
}
注意使用
[NSObject:AnyObject]()
这个问题一直存在,直到我更新到 Parse 库 1.8.1。
我试过调整PFFacebookUtils.h,还有很多其他的东西,但并没有解决问题。这让我发疯。
我正在尝试将 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
}
在 第 3 行 中,出现错误:
Value of optional type '
[NSObject:AnyObject]
' not unwrapped; did you mean to use '!
' or '?
'?
如果我使用“!
”手动解包,因为 launchOptions 可以为 nil,我得到:
Fatal error: unexpectedly found nil while unwrapping an Optional value
如果我检查 nil,我得到:
NSInternalInconsistencyException
', reason: 'You must initialize PFFacebookUtils with a call to+initializeFacebookWithApplicationLaunchOptions
知道如何解决吗?
这是 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/
提供问题是 ParseSDK 的一个错误,它不接受 nil launchOptions
根据 Roger Ingouacka 在 https://developers.facebook.com/bugs/1462780714012820/
if let launchOptions = launchOptions {
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
} else {
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions([NSObject:AnyObject]())
}
注意使用
[NSObject:AnyObject]()
这个问题一直存在,直到我更新到 Parse 库 1.8.1。
我试过调整PFFacebookUtils.h,还有很多其他的东西,但并没有解决问题。这让我发疯。