Senden iphones [[UIDevice currentDevice] name] über das Netzwerk
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.
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