Facebook SDK 3.1 — поделиться изображением

Я интегрировал FB SDK 3.1 в свое приложение ios.

Я успешно делюсь изображением на своей стене, но не могу установить «через [имя приложения]» (по умолчанию используется «через ios»). Я уже добавил в свой файл info.plist значение appid.

Я также не могу заставить работать общий доступ для ios5 (он отвечает ошибкой 400).

Ниже приведен код, который я использую:

- (void)viewDidLoad{

appDelegate = [[UIApplication sharedApplication]delegate];
if (!appDelegate.session.isOpen) {
    appDelegate.session = [[FBSession alloc] init];

    if (appDelegate.session.state == FBSessionStateCreatedTokenLoaded) {
        [appDelegate.session openWithCompletionHandler:^(FBSession *session,
                                                         FBSessionState status,
                                                         NSError *error) {
        }];
    }
}

и когда мне нужно поделиться, я вызываю этот метод:

- (IBAction)fbShare:(id)sender {
if (appDelegate.session.isOpen) {

    BOOL displayedNativeDialog = [FBNativeDialogs presentShareDialogModallyFrom:self
                                                                initialText:textView.text
                                                                      image:img
                                                                        url:nil
                                                                    handler:nil];
    if (!displayedNativeDialog) {
        [self performPublishAction:^{

        [FBRequestConnection startForUploadPhoto:img
                               completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                               }];
    }];}

} else {
    if (appDelegate.session.state != FBSessionStateCreated) {
        appDelegate.session = [[FBSession alloc] init];
    }

    [appDelegate.session openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {
    }];}
}

- (void) performPublishAction:(void (^)(void)) action {
if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) {
    [FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
                                               defaultAudience:FBSessionDefaultAudienceFriends
                                             completionHandler:^(FBSession *session, NSError *error) {
                                                 if (!error) {
                                                     action();
                                                 }
                                                 else{
                                                 }

                                             }];
} else {
    action();
}}

Любой намек?

Большое спасибо,

Эрика


person e.g.    schedule 15.10.2012    source источник
comment
Похоже, это пока невозможно app-name-using-sdk-3" title="как указать имя приложения, которое пользователь использовал для публикации через имя приложения с помощью sdk 3">facebook.stackoverflow.com/questions/12801424/   -  person MrBr    schedule 23.10.2012


Ответы (1)


Я успешно делюсь изображением на своей стене, но не могу установить «через [имя приложения]» (по умолчанию используется «через ios»). Я уже добавил в свой файл info.plist значение appid.

Скорее всего, вы не указали имя приложения Facebook. Я бы порекомендовал посмотреть его в панели администратора https://developers.facebook.com/apps.

person Community    schedule 15.10.2012
comment
Спасибо за подсказку, Назар, но часть Facebook заполнена правильно! - person e.g.; 15.10.2012