2

刚刚升级到 Facebook iOS SDK 3.1 并且已经遇到问题。

我的应用找不到 facebook 方法reauthorizeWithPublishPermissions,而且它也不知道静态FBSessionDefaultAudienceFriends定义是什么!

其他人见过这些问题吗?不敢相信 3.1 SDK 会有这些基本的错误,所以我现在责怪我的愚蠢!

为了完整起见,这是我的代码:

[FBSession reauthorizeWithPublishPermissions:[NSArray arrayWithObjects:@"publish_stream", @"publish_actions",nil]
    defaultAudience:FBSessionDefaultAudienceFriends 
    completionHandler:^(FBSession *session, NSError *error) {

        // Do something...

}];

谢谢。

4

4 回答 4

3

@Zotter,答案已贬值。现在(使用最新的 Facebook iOS SDK,我猜是 v.3.19)您必须使用- (void)requestNewReadPermissions:(NSArray *)readPermissions completionHandler:(FBSessionRequestPermissionResultHandler)handler;方法来授权具有发布权限的应用程序。

[FBSession.activeSession requestNewPublishPermissions:permissions
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
    if(!error) {

    }
}];
于 2014-12-02T06:10:16.167 回答
2
 /*! No audience needed; this value is useful for cases where data will only be read from Facebook */

    FBSessionDefaultAudienceNone                = 0,
    /*! Indicates that only the user is able to see posts made by the application */
    FBSessionDefaultAudienceOnlyMe              = 10,
    /*! Indicates that the user's friends are able to see posts made by the application */
    FBSessionDefaultAudienceFriends             = 20,
    /*! Indicates that all Facebook users are able to see posts made by the application */
    FBSessionDefaultAudienceEveryone            = 30,
于 2012-09-26T20:32:24.507 回答
1

reauthorizeWithPublishPermissions:是一个实例方法

  [FBSession.activeSession reauthorizeWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceFriends completionHandler:
     ^(FBSession *session,
       NSError *error)
     {
         ...
     }];
于 2012-09-28T05:41:17.690 回答
0

我有这个问题。我使用的是旧版本的 Cocoapods,它没有将源代码从 3.0 正确升级到 3.1。如果您使用的是 Cocoapods,请升级到 0.14.0 并重试。如果没有,请仔细检查以确保您拥有来自 master 的最新 Facebook SDK - 如果您在 FBSession.h 中没有看到这些值,则您可能拥有旧版本的 SDK。

于 2012-09-27T18:44:06.373 回答