2

social.framework で Facebook にシェアするためのボタンを作りたいです。私はこれを作ります:

    #import <UIKit/UIKit.h>

    #import <Social/Social.h>

    @interface SocialSharingViewController : UIViewController

    - (IBAction)postToFacebook:(id)sender;

    @end

次に、m を追加します。ファイル:

- (IBAction)postToFacebook:(id)sender {
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
            SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

        [controller setInitialText:@"First post from my iPhone app"];
        [self presentViewController:controller animated:YES completion:Nil];        
    }
}

エミュレーターでは完璧に動作しますが、iPhone 5 デバイスでこれをテストすると動作しません。ボタン postToFacebook をクリックしても何も起こりません。

助けてください

4

1 に答える 1

2

考えられるエラーは、iPhone 5 に fb アカウントが設定されていないことです。[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]この場合は NO を返します

SLComposeViewControllerのドキュメントによると、isAvailableForServiceType は「サービスにアクセスできるかどうか、少なくとも 1 つのアカウントが設定されているかどうかを示すブール値を返します...アカウントを使用できるようにするには、ユーザーはデバイスでソーシャル サービスにログインする必要があります。設定。"

注: if 条件を追加するときは常に、else 条件も使用してください。#codingstandard

于 2013-02-26T08:37:38.227 に答える