Я закодировал строку изображения base64, используя CFURLCreateStringByAddingPercentEscapes:
(__bridge_transfer NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)imageString, NULL,CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"), CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding))
Это работает.Но теперь, когда CFURLCreateStringByAddingPercentEscapes устарела, и рекомендуется использовать stringByAddingPercentEncodingWithAllowedCharacters, я не уверен, какой набор символов разрешено использовать.Я попробовал каждый из следующих наборов с включенными выше символами, но ни один не работает:
@interface NSCharacterSet (NSURLUtilities)
+ (NSCharacterSet *)URLUserAllowedCharacterSet;
+ (NSCharacterSet *)URLPasswordAllowedCharacterSet;
+ (NSCharacterSet *)URLHostAllowedCharacterSet;
+ (NSCharacterSet *)URLPathAllowedCharacterSet;
+ (NSCharacterSet *)URLQueryAllowedCharacterSet;
+ (NSCharacterSet *)URLFragmentAllowedCharacterSet;
@end
Любая помощь очень ценится!