1

ソーシャルフレームワークをiOSデバイスで正しく機能させることはできませんが、iOSシミュレーターでは完全に機能しますが、iPadでは機能しません。どこが間違っているのかを誰かにアドバイスできます。前もって感謝します。

- (IBAction)sharefb:(id)sender {

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {


    mySLComposerSheet = [[SLComposeViewController alloc] init];

    mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    [mySLComposerSheet setInitialText:@"Share this app with your friends"];

    [mySLComposerSheet addImage: [UIImage imageNamed:@"icon2.png"]];
    [self presentViewController:  mySLComposerSheet animated:
     YES completion:nil];

     }

[mySLComposerSheet setCompletionHandler:^
 (SLComposeViewControllerResult result) {


     NSString *output = [[NSString alloc] init];


     switch (result) {
         case SLComposeViewControllerResultCancelled:
             output = @"Post Cancelled";
             break;
           case SLComposeViewControllerResultDone:
             output = @"Posted successfully";
             break;

         default:
             break;
     }



 }];
4

1 に答える 1

2

コードをコピーして空のプロジェクトに貼り付け、iPadで正常に実行したので、問題が何であるかは正確にはわかりませんが、試すことができることがいくつかあります。

まず、コードで次の両方の行を使用します。

mySLComposerSheet = [[SLComposeViewController alloc] init];

mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

不要であり、コンポーザーでalloc / initを呼び出すのは賢明ではありません。その直前composeViewControllerForServiceTypeに、SLComposeViewControllerオブジェクトが既に返されます。これらの2行の最初の行を省略すると、問題を解決できる可能性があります。

次に、プロジェクトに「icon2.png」が存在することを確認しますか?これが問題を引き起こしているはずではありませんが、ちょっとクレイジーなことが起こっています。

presentViewController第三に、可能性は低いですが、間隔と改行の配置が原因で、の引数に問題が発生する奇妙な不可視性がある可能性があります。次のように行を書き直してみてください。

[self presentViewController:mySLComposerSheet animated:YES completion:nil];

サイトノート、NSString *outputコードに含まれていない他の何かに使用されていない限り、メモリリークが発生しています。これはすべて、実際には問題を特定していない元の投稿から外れています。もっと具体的に言えば、私はおそらくもっと役立つことができます。

于 2013-01-04T04:50:37.173 に答える