がCommonCryptoで行わbase64エンコーディングです:
、それは非常に簡単にコードされ、あなたのプロジェクトにこれを追加する場合、追加することも必要カテゴリ
にそれを置くことは困難ではないでしょうSecurity.framework
#include <CoreFoundation/CoreFoundation.h>
#include <Security/Security.h>
static NSData *base64helper(NSData *input, SecTransformRef transform)
{
NSData *output = nil;
if (!transform)
return nil;
if (SecTransformSetAttribute(transform, kSecTransformInputAttributeName, input, NULL))
output = (NSData *)SecTransformExecute(transform, NULL);
CFRelease(transform);
return [output autorelease];
}
NSString *base64enc(NSData *input)
{
SecTransformRef transform = SecEncodeTransformCreate(kSecBase64Encoding, NULL);
return [[[NSString alloc] initWithData:base64helper(input, transform) encoding:NSASCIIStringEncoding] autorelease];
}
NSData *base64dec(NSString *input)
{
SecTransformRef transform = SecDecodeTransformCreate(kSecBase64Encoding, NULL);
return base64helper([input dataUsingEncoding:NSASCIIStringEncoding], transform);
}
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instm/NSData/base64Encodingに文書化されています。それが助けになる! –
レーダーの入力を取り消すと、あなたはあなたが提供した解決策へのヒントを持って、これに機能要求をアップルに提出することを意味するでしょうか? –
小さなプロジェクトでコードを統合しただけで、魅力的に機能します。随意選択的ARCで巧みなトリック。 –