2012-06-07 3 views
1

Я пытаюсь отправить имя устройства iOS вместе с устройствомТокен на мой сервер в didRegisterForRemoteNotificationsWithDeviceToken .. у моего устройства есть апостроф, а строка запроса отображается как ... & name = John + Doe + iPhone ... Я попытался заменить «" на "" и "," на "" .., но не исправить. Предположим, мне нужно преобразовать кодировку?мой апостроф превращается в

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

РЕДАКТИРОВАТЬ

выход из NSLog (строка);

ответ

0

Вы не должны использовать NSLog с предоставленной пользователем строкой. NSLog ожидает строку формата для своего первого аргумента. Если это что-то, содержащее спецификатор формата, это, скорее всего, приведет к краху вашего приложения и может подвергнуть уязвимости безопасности, если оно предоставлено ненадежным источником.

Проблема с кодировкой, как представляется, является ошибкой в ​​LLDB. Переключение на GDB устраняет проблему.

+0

спасибо .. это сработало! .. не знаю, я бы наткнулся на это .. и я просто использовал NSLog для устранения неполадок здесь .. но спасибо за подсказку! –

1

Подождите, вы делаете NSLog(string)? Вам необходимо NSLog(@"%@", string)

+0

, который дает ошибку «Несовместимые типы указателей, отправляющих« NSString * »в параметр типа« const char * » –

+0

Да, я полагаю, что я ленился. NSLog (@«% @ », строка) все еще выводит John Doe , IPhone –

Смежные вопросы