TWTweetComposeViewController
ポップアップを表示せずに、iPhone アプリから直接ツイートを送信したい
また、すべてのフォロワーを取得したいのですが、ios5 の Twitter フレームワークからそれを行う方法はありますか、それとも別の API を使用する必要があります!
別の API を使用する必要がある場合、優れた API を指定できますか? 私がインターネットで見つけたすべてのAPIはとても古いものだったからです。
前もって感謝します
TWRequest
iOS 5.0以降を使用している場合、アプリからプログラムでツイートを投稿するために使用できます。ツイートの投稿は非常に簡単で、外部フレームワークなどは必要ありません。
が必要です#import <Twitter/Twitter.h>
。iPhone アカウント ストアから Twitter アカウントを取得し (複数のアカウントがあるかどうかを確認できます)、そのアカウントを使用して要求を投稿します。
画像付きのツイートを投稿する方法の例を次に示します。
- (void)shareTwitterImage:(UIImage *)image
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error)
{
if(granted)
{
NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];
if ([accountsArray count] > 0)
{
ACAccount *twitterAccount = [accountsArray objectAtIndex:0];
TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"https://upload.twitter.com/1/statuses/update_with_media.json"] parameters:[NSDictionary dictionaryWithObject:self.textViewOutlet.text forKey:@"status"] requestMethod:TWRequestMethodPOST];
[postRequest addMultiPartData:UIImagePNGRepresentation(image) withName:@"media" type:@"multipart/png"];
[postRequest setAccount:twitterAccount];
[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
{
//show status after done
NSString *output = [NSString stringWithFormat:@"HTTP response status: %i", [urlResponse statusCode]];
NSLog(@"Twiter post status : %@", output);
}];
}
}
}];
}
かなりの数のオプションがあります:
iOS 6 には Appleフレームワークがあり、Facebook や Sina Weibo だけでなく、Twitter にも投稿Social
できます。ドキュメントはこちらです。iOS 6 を実行しているデバイスは、下位互換性を実行する必要があります。そのため、それは避けてください。SLComposeViewController
TWTweetComposeViewController
ShareKitもありますが、面倒で肥大化するため、一般的にはお勧めしません。最後にiOS の Oauth ライブラリがあります... コンシューマ キーとシークレット キーを作成します。TWRequest で Twitter API を呼び出すこともできます。
それは私が考えることができるすべてです。
ローハン。