ユーザが入力した文字列などをURLエンコードしてサーバにPOSTすることはよくあると思います。 iOS 7.0 からNSStringに下記のカテゴリメソッドが追加され、Core Foundationの関数を使う必要がなくなり便利になりました。 func stringByAddingPercentEncodingWithAllowedCharacters(allowedCharacters: NSCharacterSet) -> String? 日本語をエンコードする際の罠 このメソッドを使って日本語文字列をエンコードする場合、注意が必要です。 マルチバイト言語の扱いに問題があるようで、1,000文字程度の日本語をエンコードすると、EXC_BAD_ACCESSの例外が発生し、アプリがクラッシュします。 対処方法 非常に残念なのですが、iOS7以前で使っていたCFURLCreateString