Facebookにメッセージを投稿するためにDEFacebookComposeViewControllerを使用しています。iOS5 を使用している場合、ユーザーはログインのために facebook ページにリダイレクトされ、その後アプリに戻ります。これはうまく機能します。しかし、iOS6 では、サービス API は、オプション「設定」または「キャンセル」を示す UIAlertView を表示します。
問題は、ボット ボタンが同じ効果を持つことです。どちらもダイアログをキャンセルします (こちらの「FacebookSample」でも発生しています)。
一方、Tweeter フレームワークは iOS 5 と 6 の両方で正常に動作します。Tweeter アカウントが構成されていない場合にアラートが表示され、[設定] ボタンをクリックすると [アカウントの追加] 画面が表示されます。
すべてのアイデアを歓迎します。
ありがとう
PD: シミュレーター内のすべてのテスト。
編集:
これは私が使用しているコードです:
DEFacebookComposeViewController *facebookComposer = [[DEFacebookComposeViewController alloc] init];
[facebookComposer setInitialText:@"Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test"];
__block id weakSelf = self;
[facebookComposer setCompletionHandler:^(DEFacebookComposeViewControllerResult result) {
[weakSelf dismissModalViewControllerAnimated:YES];
}];
[self presentModalViewController:facebookComposer animated:YES];
[facebookComposer release];
そして、これはDEFacebookComposeViewController
クラスの重要な部分です。
- (id)init
{
if ([[UIDevice currentDevice].systemVersion floatValue] >= 6) {
self = [(DEFacebookComposeViewController*)[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook] retain];
return self;
}
self = [super init];
if (self) {
[self facebookComposeViewControllerInit];
}
return self;
}
そこには。iOS のバージョンが 6 の場合、初期化メソッドが返さ[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]
れます。これは、Facebook と対話するバニラ iOS6 の方法です。