我正在开发一款应该支持iOS5,iOS6,iOS7的应用程序。
在我的应用中,我想使用NSString
对我的base64encoding
数据进行编码。
以下是我用于编码的代码
NSString *userData = @"data";
NSString *base64EncodedString = [[userData dataUsingEncoding:NSUTF8StringEncoding]
base64EncodedStringWithOptions:0];
以上代码在iOS7中运行正常,但在iOS6中应用程序崩溃,出现以下错误:
[NSConcreteMutableData base64EncodedStringWithOptions:]
有没有其他方法可以编码数据或任何支持iOS6& iOS7。
任何人都可以帮我解决这个问题吗?
先谢谢
答案 0 :(得分:1)
由于某些原因无法发表评论,因此我会链接到提供合理解决方案的old StackOverflow answer。基本上,您将NSString转换为NSData并对NSData进行编码。
+ (NSString *)toBase64String:(NSString *)string {
NSData *data = [string dataUsingEncoding: NSUnicodeStringEncoding];
NSString *ret = [NSStringUtil base64StringFromData:data length:[data length]];
return ret;
}
当然,您可以检查iOS7并使用initWithBase64EncodedString:options:
来处理该情况。