間違った方法を使用しています。stringByAddingPercentEncodingWithAllowedCharacters
これを使用する代わりにstringByAddingPercentEscapesUsingEncoding
このメソッドを使用したくない場合stringByAddingPercentEncodingWithAllowedCharacters
は、許可された文字のセットを渡す必要があります。
これを試して。
NSURL *candidatesURL = [NSURL URLWithString:[str_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
または、アプリ開発のターゲットが IOS 9.0 以降の場合。
stringByAddingPercentEscapesUsingEncoding
は非推奨なので、使用stringByAddingPercentEncodingWithAllowedCharacters
して使用できますURLHostAllowedCharacterSet
。
NSURL *candidatesURL = [NSURL URLWithString:[str_url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];