1

iOS 5と6をサポートするiPhoneアプリケーションを開発しています。TwitterでPictureを共有したいのですが、iOS5で導入されたTwitterフレームワークを使用する方法を見つけました。

ただし、TWRequestはiOS 6で非推奨になり、iOS5では使用できないSocialFrameworkでSLRequestに置き換えられました。TWRequestはiOS6で非推奨になり、SLRequestはiOS 5でサポートされていないため、この問題に対処するにはどうすればよいですか。

4

1 に答える 1

4

ビルド済みを使用SLComposeViewControllerして、Twitterで共有するためにモーダルにビューを表示する場合は、次のようなものを使用できます。

//Check for Social Framework availability (iOS 6)
if(NSClassFromString(@"SLComposeViewController") != nil){

    if([SLComposeViewController instanceMethodForSelector:@selector(isAvailableForServiceType)] != nil)
    {
        if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
        {
            NSLog(@"service available");
            SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
            [composeViewController setInitialText:@"Testing Continues"];
            [composeViewController addImage:[UIImage imageNamed:@"test.png"]];
            [self presentViewController:composeViewController animated:YES completion:nil];
        }
        else
        {
            NSLog(@"service not available!");
        }
    }
}

else{
// For TWTweetComposeViewController (iOS 5)  
    if ([TWTweetComposeViewController canSendTweet]) {
        TWTweetComposeViewController *tweetVC = [[TWTweetComposeViewController alloc] init];
        [self presentModalViewController:tweetVC animated:YES];
        [tweetVC setInitialText:@"testing app"];
    } 
}

それ以外の場合、Twitterで共有する独自のリクエストを作成する場合は、デバイスでユーザーアカウントを管理した後、必要に応じてを作成しSLRequestます

NSDictionary *message = @{@"status": @”Test message”};
NSURL *requestURL = [NSURL URLWithString:@"http://api.twitter.com/1/statuses/update.json"];

SLRequest *postRequest = [SLRequest 
            requestForServiceType:SLServiceTypeTwitter
                    requestMethod:SLRequestMethodPOST
                              URL:requestURL 
                       parameters:message];         
于 2013-02-27T07:15:28.747 に答える