如何在iOS 6.1中将字符串转换为base64编码

9

我在iOS 7中将字符串转换为Base64编码,它能够正常工作。但是当应用程序在iOS 6.1上运行时,应用程序会崩溃。对于iOS 7,我正在使用:

NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:pdfDataString options:0];

在iOS 6上,我的应用程序在这一行崩溃。请帮助我。如何将字符串转换为Base64编码在iOS 6中。


@Nancy 请参考此链接:https://dev59.com/E3RC5IYBdhLWcg3wKtv2 - Pradhyuman Chavda
根据苹果文档:“弃用声明 您应该转换为使用initWithBase64EncodedString:options:或initWithBase64EncodedData:options:。” - zaph
1个回答

36

您可以使用此方法...或者将其用作参考 :)

- (NSString*)encodeStringTo64:(NSString*)fromString
{  
    NSData *plainData = [fromString dataUsingEncoding:NSUTF8StringEncoding];
    NSString *base64String;
    if ([plainData respondsToSelector:@selector(base64EncodedStringWithOptions:)]) {
        base64String = [plainData base64EncodedStringWithOptions:kNilOptions];  // iOS 7+
    } else {
        base64String = [plainData base64Encoding];                              // pre iOS7
    }

    return base64String;
}

谢谢@TonyMkenu,这对我很有帮助。 - Pradumna Patil
如果您需要从应用程序外部共享图像,则在ShareViewController中它无法正常工作。 - Md Rais

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接