Поделиться через Facebook в iOS6 — кнопка настроек не работает

Я хочу поделиться своим приложением через Facebook.

Когда я не настроил свою учетную запись Facebook, я получаю следующую ошибку. Когда я нажимаю "Настройки", это не работает. «Настройки» и «Отмена» дают одинаковый результат.

Прикреплено изображение ошибки

Поэтому я импортировал Social.framework.

#import <Social/Social.h>

Ниже приведен используемый метод.

-(IBAction) facebookBtnCall{

NSString *facebookTxt = @"Facebook Text";
NSString *AppUrl = @"http://www.google.co.in/";
NSString *ImageUrl = @"http://www.phoolwala.com/adminpanel/uploads/small/1303380733-PHW-B-18-RP-R.jpg";

float version = [[[UIDevice currentDevice] systemVersion] floatValue];

if (version >= 6.0) {

    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
        SLComposeViewController *fbComposer = [SLComposeViewController
                                               composeViewControllerForServiceType:SLServiceTypeFacebook];
        //set the initial text message
        [fbComposer setInitialText:facebookTxt];
        //add url
        if ([fbComposer addURL:[NSURL URLWithString:AppUrl]]) {
            NSLog(@"Blog url added");
        }

        // you can remove all added URLs as follows
        //[fbComposer removeAllURLs];

        //add image to post
        if ([fbComposer addImage:[UIImage imageNamed:ImageUrl]]) {
            NSLog(@"strong binary added to the post");
        }
        if ([fbComposer addImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:ImageUrl]]]]) {
            NSLog(@"scan is added to the post");
        }

        //remove all added images
        //[fbComposer removeAllImages];

        //present the composer to the user
        [self presentViewController:fbComposer animated:YES completion:nil];

    }
}
else {
    NSLog(@"Load facebook on webview");
}
}

person Ambili B Menon    schedule 23.10.2012    source источник
comment
Ambili B Menon Правильно проверьте свой код состояния   -  person Kamar Shad    schedule 23.10.2012
comment
Что происходит, когда вы напрямую заходите в раздел Facebook в приложении «Настройки»? Кроме того, вам следует рассмотреть возможность использования Facebook SDK для iOS (developers.facebook.com/ios), поскольку он будет поддерживать для вас различные версии iOS.   -  person James Pearce    schedule 24.10.2012
comment
«Настройки» и «отмена» дают тот же результат.   -  person Ambili B Menon    schedule 25.10.2012
comment
У меня точно такая же проблема, как у вас. Вы когда-нибудь решали это?   -  person shawnwall    schedule 07.11.2012
comment
Вы поместили свой идентификатор приложения facebook в Info.plist?   -  person Andrew Pouliot    schedule 13.11.2012
comment
Да. appId уже добавлен в Info.plist.   -  person Ambili B Menon    schedule 14.11.2012
comment
Это можно как-то исправить? Я столкнулся с той же проблемой   -  person Jiraheta    schedule 13.09.2013
comment
У меня такая же проблема в IOS 7. Как я могу решить эту проблему.   -  person sabir    schedule 02.12.2013


Ответы (1)


Вы пытались сделать что-то вроде этого:

    SLComposeViewController *fbController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
    SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){

        [fbController dismissViewControllerAnimated:YES completion:nil];

        switch(result){
            case SLComposeViewControllerResultCancelled:
            default:
            {
                NSLog(@"Cancelled.....");

            }
                break;
            case SLComposeViewControllerResultDone:
            {
                NSLog(@"Posted....");
            }
                break;
        }};

    //[fbController addImage:[UIImage imageNamed:@"1.jpg"]];
    [fbController setInitialText:@"Test message"];
    [fbController addURL:[NSURL URLWithString:self.asset.url]];
    [fbController setCompletionHandler:completionHandler];
    [self presentViewController:fbController animated:YES completion:nil];
} else {
    NSLog(@"no facebook setup");
}
person Adam Rush    schedule 23.01.2013
comment
Привет, Амбили Б. Менон, у тебя есть какое-нибудь решение. Я также получаю эту проблему. Если у вас есть какое-либо решение, пожалуйста, обновите его. - person user1120998; 16.03.2013
comment
@ user1120998 Еще нет :( - person Ambili B Menon; 20.09.2013