2009-04-14 31 views
2

Es gibt eine ähnliche Frage hierüber, die ich gelesen habe und ich habe versucht, den dort gegebenen Rat zu befolgen ... und ich denke, dass ich zu 95% fertig bin, aber die restlichen 5 % ... naja, du weißt schon ;-)TwitPic API von ObjectiveC/iPhone verwenden

Also versuche ich die twitPic API aufzurufen um ein Bild hochzuladen und ich habe das Bild in einem UIImageView welches ich auf dem Bildschirm angezeigt bekomme (ich kann sieh es so, es ist definitiv da). Mein Code den API-Aufruf zu bilden, sieht wie folgt aus:

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]; 

ich einen Fehler wieder aus ihm Angabe ‚Bild nicht gefunden‘.

Ist es offensichtlich, was ich falsch mache? Irgendwelche Hinweise? Ich bin nur eine Woche in ObjectiveC, also ist es wahrscheinlich ein echter Anfängerfehler.

Auf der gleichen Strecke - es ist mir nicht klar, wie ich hier einen Erfolg oder Misserfolg im Code richtig erfassen kann - ich bin derzeit dumping der "Request ResponseString" auf eine Warnung, die nicht das beste ist - wie kann Ich überprüfe das Ergebnis richtig?

Ich habe auch die Verwendung von 'NSLog' gesehen - die ich vermute, ist ein Debugging/Konsolen-Logging-Tool - aber ich kann nicht sehen, die Ausgabe von diesem irgendwo in XCode - es nicht SEEM in gezeigt wird der Debugger - irgendwelche Hinweise überhaupt ?!

Entschuldigung, wenn das oben genannte wirklich dumm ist - ich kann ein wenig Spott nehmen - aber ich bin irgendwie isoliert mit meinen iPhone-Abenteuern - niemand, etwas abzustoßen usw. - so entlüftet ich alles hier; -)

Prost,

Jamie.

Antwort

14

Sie benötigen die setData Methode zu verwenden, um die Bilddaten in die Post zu kopieren, wie folgt aus:

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

Sie einen synchronen Aufruf, in der Ihre App zum Stillstand kommen wird, während Sie alle hochladen, Bilddaten - Sie möchten möglicherweise zur Verwendung einer NSOperationQueue oder der ASINetworkQueue-Unterklasse wechseln, mit der Sie eine Fortschrittsanzeige anzeigen können.

Sie sollten NSLog-Ausgabe im Debugger-Fenster von XCode sehen können. Stellen Sie sicher, dass Sie darauf umgeschaltet haben (Steuerung oben links mit einer Sprühdose). Sie können die Konsole auch starten.

Verwandte Themen