SLRequest を使用してユーザーの Twitter ストリームに投稿しています。次のコードはシミュレーターで機能して投稿しますが、実際のデバイスでは機能しません。
//create the SLRequest and post to the account
//create the NSURL for the Twitter endpoint
NSURL *profileURL = [NSURL URLWithString:@"https://api.twitter.com/1/statuses/update.json"];
//Create the dictionary of parameters that contains the text to be posted
NSDictionary *parameters = [NSDictionary dictionaryWithObject:[messageTextView text] forKey:@"status"];
//create the SLRequest
SLRequest *twitterRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodPOST URL:profileURL parameters:parameters];
//assign the twitter account for posting
twitterRequest.account = [_twitterAccounts objectAtIndex:i];
if(!CGSizeEqualToSize(imageView.image.size, CGSizeZero))
{
//multipart data with image
[twitterRequest addMultipartData:UIImageJPEGRepresentation(imageView.image, 0.7) withName:@"media" type:@"image/jpg" filename:@"image001.jpg"];
}
SLRequestHandler requestHandler = ^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error)
{
if(error)
{
NSLog(@"%@", error);
}
};
//perform the request
[twitterRequest performRequestWithHandler:requestHandler];
このコードをシミュレーターで実行すると、すべてが正常に機能し、テキストが適切な Twitter アカウントに投稿されます。ただし、実際のデバイスで (同じアカウントを設定して) 実行すると、次のエラー メッセージが表示されます (シミュレーターではエラーは発生しません)。
2012-10-13 13:39:32.967 Status App[10684:1803] Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x1d9f37f0 {NSErrorFailingURLKey=https://api.twitter.com/1/statuses/update.json, NSErrorFailingURLStringKey=https://api.twitter.com/1/statuses/update.json, NSUnderlyingError=0x1d9f35c0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)"}
他の誰かが以前にこのエラーに遭遇したことがありますか? 私は何日も探していましたが、オンラインで解決策をまだ見つけていません。情報やヘルプをいただければ幸いです。