Frage

Ich versuche, die Gerätenamen über ein Netzwerk mit CFNetwork umgesetzt zu senden. Meine Anwendung wird erfolgreich die NSString über den Simulator senden, aber nicht auf einem Gerät. Die Klassenreferenz hat die Eigenschaften für diese Funktion Satz an:

@propertyic,readonly,retain) NSString *name

Ich habe versucht, die Formatierung den letzten String I unter Verwendung string sowie stringByAppendingString verwenden will, aber es wird mit beiden Methoden nicht funktionieren.

War es hilfreich?

Lösung

Versuchen Sie zunächst einen einen dummen Namen zu senden, die Sie erstellen, wie

NSString *nameTest = @"Name of iPad"

Wenn Sie das sehen, ist das Problem ein NSString nicht schicken, ich denke, das für Sie arbeitet. Als, wissen Sie mit diesem den Namen bekommen

NSString *name = [[UIDevice currentDevice] name];

Jetzt ist der Fehler, den Sie machen können ist: Ein Nill Namen oder Namen mit ungültigen Zeichen, diese Arbeit für mich:

NSArray *toRemove = [NSArray arrayWithObjects:@"'", @"\"", @"<", @">", nil];
for (NSString *currentChar in toRemove) {
    name = [name stringByReplacingOccurrencesOfString:currentChar 
                                           withString:@""];
}    
if ([name isEqualTo:@""]) name = @"no name";

Sehen Sie, wenn dies das Problem

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