2012-06-07 4 views
1

으로 변경됩니다. deviceToken과 함께 iOS 장치 이름을 didRegisterForRemoteNotificationsWithDeviceToken의 내 서버로 보내려고합니다. 내 장치에 아포스트로피가 있고 요청 문자열이 다음과 같이 표시됩니다 .... & name = John + Doe's + iPhone ... "" ""및 "," "..."로 바꾸려고 시도했지만 수정하지 않았습니다. 인코딩을 변환해야한다고 가정합니다.아포스트로피가

NSString *string = [[UIDevice currentDevice] name]; 
output-> John Doe’s iPhone 

EDIT

출력 NSLog (문자열)에서이고;

답변

0

NSLog에는 사용자가 제공 한 문자열을 사용하지 마십시오. NSLog은 첫 번째 인수에 대한 형식 문자열을 필요로합니다. 형식 지정자가 포함 된 항목 일 경우 응용 프로그램이 손상되고 신뢰할 수없는 출처에서 제공된 경우 보안 허점이 노출 될 수 있습니다.

인코딩 문제가 LLDB의 버그 일 수 있습니다. GDB로 전환하면 문제가 해결됩니다.

+0

감사합니다 .. 그 일을! .. 나는 그걸로 우연히 만난 줄 알았어 .. 그리고 여기 NSLog를 사용하여 문제를 해결했다. .. 팁을 주셔서 감사합니다! –

1

잠깐, 당신은 NSLog(string)을하고 있습니까? 필요한 항목 NSLog(@"%@", string)

+0

"호환되지 않는 포인터 유형이 'const char *'유형의 매개 변수에 'NSString *'을 보내고 있습니다. –

+0

예. 저는 게으르다 고 생각합니다. NSLog (@"% @ ", 문자열)는 여전히 John Doe , 그 아이폰 –

관련 문제