2010-11-28 3 views
0

J'essaye d'envoyer le nom du périphérique sur un réseau implémenté avec CFNetwork. Mon application envoie avec succès le NSString sur le simulateur, mais pas sur un périphérique réel. La référence de classe a les propriétés de cette fonction fixée à:Envoi du nom [[UIDevice currentDevice] de l'iphone] sur le réseau

@propertyic,readonly,retain) NSString *name 

J'ai essayé de formater la chaîne finale, je l'intention d'utiliser en utilisant stringWithFormat ainsi que stringByAppendingString mais il ne fonctionnera pas en utilisant soit la méthode.

+0

Question stupide peut-être mais est le nom défini sur l'appareil? – vakio

+0

Quel protocole utilisez-vous pour transférer le nom de l'appareil sur le réseau? – iwat

Répondre

3

d'abord essayer d'envoyer un nom stupide que vous créez, comme

NSString *nameTest = @"Name of iPad" 

Si vous voyez cela, le problème est pas envoyer un NSString, je pense que cela fonctionne pour vous. Que, vous savez obtenir le nom de cette

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

Maintenant, le bug que vous pouvez avoir est: un nom Nill ou le nom de caractère invalide, ce travail pour moi:

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

Voir si tel est le problème

Questions connexes