1

iOSデバイス名をdeviceTokenと一緒にdidRegisterForRemoteNotificationsWithDeviceTokenのサーバーに送信しようとしています。デバイスにアポストロフィがあり、リクエスト文字列は....&name = John + Doe、Äôs+ iPhone .. .. 「'」を「」に、「、Äô」を「」に置き換えてみましたが、どちらも修正しませんでした。エンコーディングを変換する必要があると思いますか?

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

編集

出力はNSLog(string);からです。

4

2 に答える 2

1

待って、やってるのNSLog(string)?あなたが必要ですNSLog(@"%@", string)

于 2012-06-07T22:35:41.207 に答える
1

NSLogそのようなユーザー提供の文字列で は絶対に使用しないでください。NSLog最初の引数にフォーマット文字列が必要です。フォーマット指定子を含むものである場合、アプリケーションがクラッシュする可能性があり、信頼できないソースから提供された場合、セキュリティホールが発生する可能性があります。

エンコーディングの問題はLLDBのバグのようです。GDBに切り替えると、問題が修正されます。

于 2012-06-07T23:54:00.093 に答える