Starting with iOS9, stringByAddingPercentEscapesUsingEncoding deprecated. To safely avoid a URL string, use:
NSMutableCharacterSet *alphaNumSymbols = [NSMutableCharacterSet characterSetWithCharactersInString:@" ~!@ #$&*()-_+=[]:;',/?."]; [alphaNumSymbols formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]]; str = [str stringByAddingPercentEncodingWithAllowedCharacters:alphaNumSymbols];
This creates a lot of characters that need to be stored as is, and requests that everything outside of these character sets be converted to percentages encoded in percent.
source share