iOS 9.2.1、Xcode 7.2.1、ARC 已启用
base64EncodedString、dataFromBase64String:iOS 7.0 后贬值
更新的解决方案:
编码为字符串:
id<nscoding> obj;
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:obj];
NSString *string = [data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
解码为数据:
NSString *string;
NSData *data = [[NSData alloc] initWithBase64EncodedString:string options:(NSDataBase64DecodingIgnoreUnknownCharacters)];
id<nscoding> obj = [NSKeyedUnarchiver unarchiveObjectWithData:data];
注意:这在使用 keychain 将键/值对字典存储到 kSecValueData 时非常有用。
希望这对某人有帮助!干杯。