1

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.)"}

他の誰かが以前にこのエラーに遭遇したことがありますか? 私は何日も探していましたが、オンラインで解決策をまだ見つけていません。情報やヘルプをいただければ幸いです。

4

1 に答える 1

1

間違った URL とパラメーターを使用しています。

これを見てください。

于 2012-10-19T22:07:12.423 に答える