Frage

In meiner iPhone -App gibt es einen Fehler. Ich benutze den Camerapicker, um ein Bild zu machen und zu machen, und dann gebe ich es meiner Methode Sendphoto, die das Foto an Tweetphoto sendet. Alles funktioniert großartig, bis ich ein NSMutabledat mit NSData initialisiere. Hier ist der Code:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
    NSData *imageData = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    [self sendPhoto:(NSString*)@"lola" tweet:(BOOL)TRUE photo:(NSData*)imageData tags:(NSString*)@"" longitude:(float)1024 latitude:(float)512];
}

Hier ist die SendPhoto-Methode:

- (void)sendPhoto:(NSString*)message tweet:(BOOL)tweet photo:(NSData*)photo tags:(NSString*)tags longitude:(float)longitude latitude:(float)latitude {
    NSString *url;
    if (tweet) {
        url = [NSString stringWithFormat:@"http://www.tweetphoto.com/uploadandpostapiwithkey.php"];
    } else {
        url = [NSString stringWithFormat:@"http://www.tweetphoto.com/uploadapiwithkey.php"];
    }

    NSString * boundary = @"tweetPhotoBoundaryParm";
    NSMutableData *postData = [NSMutableData dataWithCapacity:[photo length] + 1024];
    //!!!Here is the error!!!!                      
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

    NSString * userNameString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"username\"\r\n\r\n%@", [prefs stringForKey:@"username_preference"]];
    NSString * passwordString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"password\"\r\n\r\n%@", [prefs stringForKey:@"password_preference"]];
    NSString * apiString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"api_key\"\r\n\r\n3eceaa7c-6d4d-41ab-be90-2a780e2d1961"];
    NSString * messageString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"message\"\r\n\r\n%@", message];
    NSString * tagsString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"tags\"\r\n\r\n%@", tags];
    NSString * latString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"latitude\"\r\n\r\n%f", latitude];
    NSString * longString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"longitude\"\r\n\r\n%f", longitude];
    NSString * boundaryString = [NSString stringWithFormat:@"\r\n--%@\r\n", boundary];
    NSString * boundaryStringFinal = [NSString stringWithFormat:@"\r\n--%@--\r\n", boundary];

    [postData appendData:[boundaryString dataUsingEncoding:NSUTF8StringEncoding]];
    [postData appendData:[userNameString dataUsingEncoding:NSUTF8StringEncoding]];
    [postData appendData:[boundaryString dataUsingEncoding:NSUTF8StringEncoding]];
    [postData appendData:[passwordString dataUsingEncoding:NSUTF8StringEncoding]];
    [postData appendData:[boundaryString dataUsingEncoding:NSUTF8StringEncoding]];
    [postData appendData:[apiString dataUsingEncoding:NSUTF8StringEncoding]];
    [postData appendData:[boundaryString dataUsingEncoding:NSUTF8StringEncoding]];
    //(...)
}

(Die SendImage-Methode ist von http://davidjhinson.wordpress.com/2009/06/01/posting-photos-using-objekte-c/)

Die Konsole sagt auch Folgendes: * Beenden Sie die App aufgrund der ungekordenen Ausnahme 'nsinvalidargumentException', Grund: '* -[UIImage Länge]: Nicht erkannter Selektor, der an Instanz 0x3b28df0 gesendet wurde.

Danke für Ihre Hilfe. Vielleicht gibt es nur einen dummen Fehler im Code von mir, aber bitte sei nicht wütend, denn ich lerne nur 2 1/2 Wochen mit dem Programmieren.

War es hilfreich?

Lösung

Es hört sich so an, als würden Sie eine Benutzeroberfläche in diese Methode übergeben, nicht in ein NSData -Teil. Können Sie versuchen, das Foto -Argument zu protokollieren?

Andere Tipps

Was genau ist der Fehler, den Sie erhalten? Mit anderen Worten, warum denken Sie, dass es einen Fehler in der von Ihnen angegebenen Zeile gibt?

Wenn es abstürzt, was sind die Fehler in der Konsole gedruckt?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top