2012-03-29 8 views
0

Hallo ich arbeite an einer Anwendung, die Ihnen Informationen über Ihren aktuellen Standort (Land, Stadt, Straße) gibt, also möchte ich die Stadt und Straße zu einem lokalen Webserver senden! Ich fand einen Code, der technisch funktioniert, wenn ich diese URL:senden GET http Anfrage von iPhone zu lokalen Webserver

@"http://localhost:8888/jml/save.php?town=California&street=whatever" 

Aber was ich will, ist, um die Werte von einer Etiketten (townText/streetText) und an diesem Punkt nichts scheint zu happing !!?

ist dies der Code:

if (![self.townText.text isEqualToString:@""] && ![self.streetText.text isEqualToString:@""]) { 
    NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat**:@"http://localhost:8888/jml/save.php?town=%@&street=%@",self.townText.text,streetText.txt**]]; 

    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; 

    NSData *urlData; 
    NSURLResponse *response; 
    urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil]; 

Also ich brauche bitte Ihre Hilfe :) und danke!

+0

Sie haben auch ein Speicherleck eingeführt, indem Sie die Variable "url" nicht freigegeben haben. Sie können diese Variable sicher freigeben, nachdem Sie das Objekt 'urlRequest' erstellt haben. – Sam

+0

@Sam: Er benutzt wahrscheinlich ARC. –

+0

@PaulHunter du hast recht :) –

Antwort

1

Ihr iPhone führt den Webserver nicht selbst aus - er läuft auf Ihrem Entwicklungscomputer. Versuchen Sie, "localhost" für die IP-Adresse Ihres Geräts zu wählen und stellen Sie sicher, dass es von jedem beliebigen Netzwerk aus erreichbar ist, auf dem sich Ihr Entwicklungstelefon befindet.

Darüber hinaus - stellen Sie sicher, dass Sie die Felder, die Sie in die URL einfügen entkommen. Wenn sie Zeichen enthalten, die in einer URL nicht gültig sind, schlägt Ihre Anfrage fehl.

NSString* myURLString = [NSString 
         stringWithFormat:@"http://localhost:8888/jml/save.php?town=%@&street=%@", self.townText.text, self.streetText.text]; 
myURLString = [myURLString 
       stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

auch:: Sie können Ihre URL wie so entkommen Ich gehe davon aus, dass diese Doppel Sternchen in Ihrem Codebeispiel nur zur Veranschaulichung sind, als dass nicht gültig Obj-C-Syntax ist. Sie verweisen auch auf ein Mitglied (streetText.txt), das nicht existiert - Sie haben sich möglicherweise vertippt streetText.text.

+0

ok ich werde versuchen und dir sagen, danke für die antwort –

+0

danke Peter es funktioniert, mein Problem ist, dass ich nicht entfliehen die Felder !! also repariere ich es jetzt dank dir. danke nochmal;) –

+0

wie kann ich diese benachrichtigung zu meiner app hinzufügen! http://help.agilebits.com/1Password_touch/images/tutorials/manual_sync/WiFi_sync_background.png –