2010-11-28 6 views
0

CFNetwork로 구현 된 네트워크를 통해 장치 이름을 보내려고합니다. 내 응용 프로그램은 시뮬레이터를 통해 NSString을 성공적으로 보내지 만 실제 장치에는 전송하지 않습니다. 클래스 참조 설정이 기능에 대한 속성이있다 : 나는 stringWithFormat뿐만 아니라 stringByAppendingString를 사용하여 사용하려는 최종 문자열을 형식을 시도했습니다네트워크를 통해 iphone의 [[UIDevice currentDevice] name]을 보냄

@propertyic,readonly,retain) NSString *name 

을하지만 방법 중 하나를 사용하여 작동하지 않습니다.

+0

바보 같은 질문 일지 모르지만 장치에 설정된 이름입니까? – vakio

+0

네트워크를 통해 장치 이름을 전송할 때 사용하는 프로토콜은 무엇입니까? – iwat

답변

3

첫 번째 시도는이 표시되면 문제가있는 NSString을 보내되지

NSString *nameTest = @"Name of iPad" 

처럼 사용자가 만든 바보 같은 이름을 보내,이 당신을 위해 노력하고 있습니다 생각합니다. 이

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

로 이름을 얻을 알고,보다 지금 당신이 가질 수있는 버그가 있습니다 : 잘못된 문자가있는 빈 채로 이름이나 이름은 나를 위해이 작품이이 경우

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

은 참조 문제