2009-04-14 23 views
2

これについて私が読んだことについて似たような質問があり、そこに書かれた助言に従おうとしました...そして、私は95%完了しましたが、残りの5 %...よく知って;-)ObjectiveC/iPhoneのTwitPic APIを使用

私はtwitPic APIを呼び出してイメージをアップロードしようとしていますが、私はイメージをUIImageViewに表示しています。それは確かにそこにあるのでそれを参照してください)。 APIコールを作成するコードは次のようになります。

NSURL *url = [NSURL URLWithString:@"http://twitpic.com/api/upload"]; 
NSString *username = @"myUsername"; 
NSString *password = @"myPassword"; 
NSData *twitpicImage = UIImagePNGRepresentation(imageView.image); 

// Now, set up the post data: 
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease]; 

[request setPostValue:twitpicImage forKey:@"media"]; 
[request setPostValue:username forKey:@"username"]; 
[request setPostValue:password forKey:@"password"]; 

// Initiate the WebService request 
[request start]; 

「イメージが見つかりません」というエラーが返されます。

私が間違っていることは明らかですか?すべてのヒント?私はObjectiveCの1週間しかありませんので、本当に初心者のエラーです。

同じトラック上で、ここでコードで成功または失敗を正しく捕捉できるかどうかはわかりません。私は現在、「要求応答文字列」を最善のものではないアラートにダンプしています。私は結果を正しくチェックする?

私は、デバッグ/コンソールロギングツールであると思われる「NSLog」の使用を見てきましたが、XCodeのどこからでもこの出力を見ることはできません。デバッガ - すべての手がかり?

申し訳ありませんが、私が少し嘲笑することはできますが、私はiPhoneの冒険で何かを孤立させています。 )

乾杯、

jamie。

答えて

14

あなたはこのように、ポスト内に画像データをコピーするためにsetDataメソッドを使用する必要があります。

[request setData:twitPicImage forKey:@"media"]; 

あなたはすべてのことをアップロードしながら、あなたのアプリケーションを停止しようとしている同期呼び出しを、作っていますイメージデータ - NSOperationQueue、またはプログレスバーを表示できるASINetworkQueueサブクラスを使用して切り替えることができます。

NSLogの出力は、XCodeのデバッガウィンドウで確認できます。これに切り替えたことを確認してください(スプレーをオンにして左上をコントロール)。コンソールを起動することもできます。