1

facebook共有キットを介してテキストを投稿する際に問題が発生しました。シミュレーターfacebookを選択するとTwitterに正常に投稿されますが、選択するとログインをクリックするとログインするように求められ、右上の[OK]ボタンをクリックするとページに移動します。 [OK]ボタンを押すと、ログインのためにページに戻ることができます。すでにログインしていますが、このエラーが発生している理由がわかりません。選択すると例外が発生しますiphone 6.0iphone simulator 5.1facebookiphone simulator 5.0

2012-12-28 10:35:16.084 SendQuote[431:c07] -[CFXPreferencesSearchListSource tryLock]: unrecognized selector sent to instance 0x80b42f0
2012-12-28 10:35:16.103 SendQuote[431:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CFXPreferencesSearchListSource tryLock]: unrecognized selector sent to instance 0x80b42f0'
*** First throw call stack:
(0x1b69052 0x1426d0a 0x1b6aced 0x1acff00 0x1acfce2 0x79c1770 0xf4aa39 0x1b34885 0x1b347a8 0xe8f1aa 0x59c169 0x5a48bd 0x5a51f8 0x598aa9 0x234bfa9 0x1b3d1c5 0x1aa2022 0x1aa090a 0x1a9fdb4 0x1a9fccb 0x234a879 0x234a93e 0x596a9b 0x2b3a 0x2a45 0x1)
terminate called throwing an exception(lldb) 

これがfacebok共有の私のコードです

case 1: // facebook
        {
            if(NSClassFromString(@"SLComposeViewController"))
            {
                SLComposeViewController *fbController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
                SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){

                    [fbController dismissViewControllerAnimated:YES completion:nil];

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

                        }
                            break;
                        case SLComposeViewControllerResultDone:
                        {
                            ALERT_VIEW(@"Successfully posted to facebook.");
                        }
                            break;
                    }};

                [fbController setInitialText:quotesss];
                [fbController setCompletionHandler:completionHandler];
                [self presentViewController:fbController animated:YES completion:nil];
            }
            else
            {
                DEFacebookComposeViewControllerCompletionHandler completionHandler = ^(DEFacebookComposeViewControllerResult result) {
                    switch (result) {
                        case DEFacebookComposeViewControllerResultCancelled:
                            NSLog(@"Facebook Result: Cancelled");
                            break;
                        case DEFacebookComposeViewControllerResultDone:
                            ALERT_VIEW(@"Successfully posted to facebook.");
                            break;
                    }

                    [self dismissViewControllerAnimated:YES completion:nil];
                };
                DEFacebookComposeViewController *facebookViewComposer = [[DEFacebookComposeViewController alloc] init];
                self.modalPresentationStyle = UIModalPresentationCurrentContext;

                [facebookViewComposer setInitialText:quotesss];

                facebookViewComposer.completionHandler = completionHandler;
                [self presentViewController:facebookViewComposer animated:YES completion:nil];
                [facebookViewComposer release];
            }
            break;
        }
4

1 に答える 1

3

SDKのfacebook.mクラスに移動し、次のメソッドを見つけます。

- (void)authorize:(NSArray *)permissions
         delegate:(id<FBSessionDelegate>)delegate

次に、最後の行を置き換えます。[self authorizeWithFBAppAuth:YES safariAuth:YES];

この行で:[self authorizeWithFBAppAuth:YES safariAuth:NO; &次に確認します。

于 2012-12-28T06:27:17.160 に答える