Facebook で投稿を共有したいのですが、iOS 6 を使用すると問題なく動作しますが、iOS 5 と iOS 5.1 ではログインの問題が発生し、ログインして既に承認されているページに移動し、[OK] ボタンを押すと、これをこの2ページで何度も繰り返します
OKを押すと返ってきます
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;
}
case 2: // twitter
{
NSString *text = [NSString stringWithFormat:@"%@", quotesss ];
if([text length] > 135)
{
text = [NSString stringWithFormat:@"%@%@", quotesss ,@"..."];
text = [text substringToIndex:135];
}
if(NSClassFromString(@"SLComposeViewController"))
{
SLComposeViewController *twitterController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
SLComposeViewControllerCompletionHandler __block completionHandler=^(SLComposeViewControllerResult result){
[twitterController dismissViewControllerAnimated:YES completion:nil];
switch(result){
case SLComposeViewControllerResultCancelled:
default:
{
NSLog(@"Cancelled.....");
}
break;
case SLComposeViewControllerResultDone:
{
ALERT_VIEW(@"Successfully posted to twitter.");
}
break;
}};
[twitterController setInitialText:text];
[twitterController setCompletionHandler:completionHandler];
[self presentViewController:twitterController animated:YES completion:nil];
}
else
{
DETweetComposeViewControllerCompletionHandler completionHandler = ^(DETweetComposeViewControllerResult result) {
switch (result) {
case DETweetComposeViewControllerResultCancelled:
NSLog(@"Twitter Result: Cancelled");
break;
case DETweetComposeViewControllerResultDone:
ALERT_VIEW(@"Successfully posted to twitter.");
break;
}
[self dismissViewControllerAnimated:YES completion:nil];
};
DETweetComposeViewController *tcvc = [[[DETweetComposeViewController alloc] init] autorelease];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
[tcvc setInitialText:quotesss];
tcvc.completionHandler = completionHandler;
[self presentViewController:tcvc animated:YES completion:nil];
}
break;
}