0

我正在尝试使用 ParseFacebookUtilsv4 和 FacebookSDK v4 .. 经过多次试验,我设法将错误减少到 1。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    Parse.setApplicationId("###",
        clientKey: "###")

    PFFacebookUtils.initializeFacebookWithLaunchOptions(launchOptions)

}

在这部分中,完全复制自Parse 的 iOS Docs - Facebook 设置(昨天为 FBSDKv4 更新),我收到一个错误:

'PFFacebookUtils.Type' does not have a member named 'initializeFacebookWithLaunchOptions'

当我查看ParseFacebookUtilsv4的完整文档时,它说 ~警告:此类支持官方 Facebook iOS SDK v4.0+,并且仅在 iOS 上可用。〜,我看到没有任何名为'initializeFacebookWithLaunchOptions' 的类;而是有'initializeFacebookWithApplicationLaunchOptions:'

但是,当我将 AppDelegate.swift / didFinishLaunchingWithOptions 部分更改为:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    Parse.setApplicationId("###",
        clientKey: "###")

    PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)

}

...我收到一条错误消息,提示“预期返回 'Bool' 的函数中缺少返回值。然后我尝试同时添加

 return true /* AND */ return false // at the end of the function; 

...我遇到 9 次崩溃,例如:i.stack.imgur.com/o989R.png

我完全被卡住了,不知道如何解决这个问题。

4

8 回答 8

6
[PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions]; //works

[PFFacebookUtils initializeFacebookWithLaunchOptions:launchOptions]; //does not compile or work

上面的第一行对我有用。好像他们忘记更新他们的文档了。

于 2015-04-27T01:46:01.073 回答
1

您应该转到 PFFacebookUtils.h 头文件中的 PFFacebookUtils.h 并更改:

(void)initializeFacebookWithApplicationLaunchOptions:(NSDictionary *)launchOptions;

到:

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

它会工作的!参考https://developers.facebook.com/bugs/1462780714012820/

于 2015-04-23T11:08:17.217 回答
0

根据您的错误日志,我认为您缺少依赖项,或者您在此处添加了依赖项,但您没有将它们包含在您的项目中。

我认为您的 Facebook SDK 不包含在构建目标中,因为缺少的符号具有 FB 前缀。

于 2015-04-11T07:11:28.350 回答
0

找到我的答案:我必须在我的桥接头中导入 FBSDKLoginKit(最近更新的 Parse Doc 中没有提到)。

所以我的桥接头看起来像:

    #import <FBSDKCoreKit/FBSDKCoreKit.h>
    #import <FBSDKLoginKit/FBSDKLoginKit.h>
    #import <ParseFacebookUtilsV4/PFFacebookUtils.h>
    #import <Parse/Parse.h>
    #import <Bolts/Bolts.h>
于 2015-04-11T21:32:31.877 回答
0

我遇到了同样的问题,必须实施上面的两个建议才能让我的应用程序正常运行。

首先,我从 FB SDK 添加了 FBSDKLoginKit 并将其导入。(感谢 senty)

#import <FBSDKLoginKit/FBSDKLoginKit.h>

然后我换了:

[PFFacebookUtils initializeFacebookWithLaunchOptions:launchOptions];

和:

[PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions];

希望我的回答有帮助。

于 2015-05-10T11:31:29.483 回答
0

我对 FB SDK v4 + Parse v1.7.5 SDK 也有同样的问题。

最后,我在我的项目中解决了这个问题。Parse 空白项目有一个错误。不要使用 Parse 空白项目。

https://www.parse.com/docs/downloads/ 官方下载页面,有两种下载(v 1.7.5),SDK或Blank Project,启动项目。

它仅适用于 Parse SDK 文件 + 您的新项目!请仅导入 SDK。

于 2015-07-01T08:29:08.047 回答
0

尝试删除ParseFacebookUtils(只保留ParseFacebookUtilsV4)它会产生一些冲突。

于 2015-07-03T18:00:32.650 回答
0

如果您使用的是 FB SDK v4 + Parse v1.7.5 SDK,

我只有:

#import <ParseFacebookUtilsV4/PFFacebookUtils.h>

在我的桥接头中。我的 AppDelegate.swift 文件现在包含:

import Parse
import Bolts
import FBSDKCoreKit
import FBSDKShareKit
import FBSDKLoginKit

我能够成功运行我的应用程序。

于 2015-07-29T04:10:09.047 回答