私が使用しているアプリは、SLComposeViewController を使用してツイートを送信します。この機能は、しばらくの間アプリで機能しています。SDK を 7.0 にアップデートした後、問題が発生しました。
問題は、SLComposeViewController が表示直後に完了ハンドラを呼び出すことです。SLComposeViewControllerResult はキャンセルです。これは、SLComposeViewController を表示しようとすると発生します。
サンプル アプリケーションの 64 ビット デバイス/シミュレータでこのコードを動作させることができましたが、作業中のより大きなアプリケーションでは失敗します。
作業ケース:
- 6.1 SDK を搭載したすべてのデバイス
- 7.0 SDK を搭載したすべての 32 ビット デバイス
- 私のサンプルアプリケーション
失敗したケース:
- 64 ビット iPhone 5S および 64 ビット シミュレーター
これは、失敗したコードの簡単な実装です (ほとんどの例で確認できます)。
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
{
SLComposeViewController *vc = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[vc setInitialText:@"Hi Twitter"];
vc.completionHandler = ^(SLComposeViewControllerResult result)
{
};
[self presentViewController:vc animated:YES completion:nil];
return;
}
次の記事は、他のアプリが Twitter 経由で共有できないことを示しています 。ロス。記録のために、iOS フォト アプリからの Twitter 共有は、私のデバイスで動作します。
動作中のサンプル アプリと失敗したアプリの違いについて何か考えはありますか?