使用的Xcode 4,我试图建立与iOS应用使用SSCrypto框架。
在生成设置,当我改变基地SDK到最新的iOS,我得到这个错误:
target specifies product type 'com.apple.product-type.framework', but there's no such product type for the 'iphoneos' platform
我的谷歌搜索和搜索已经变成了空的,所以我觉得我失去了一些东西明显...
我如何获得SSCrypto框架在iOS工作?
对于iOS只有静态库可以使用,使用动态库,没有框架。
而是使用CommonCrypto,它是纯C,但不是真的很难使用。 请确保您使用相同的设置,模式,IV(如果有必要的模式),填充和关键。
添加Security.framework
到项目
#import <CommonCrypto/CommonCryptor.h>
+ (NSData *)doCipher:(NSData *)dataIn
iv:(NSData *)iv
key:(NSData *)symmetricKey
context:(CCOperation)encryptOrDecrypt
{
CCCryptorStatus ccStatus = kCCSuccess;
size_t cryptBytes = 0; // Number of bytes moved to buffer.
NSMutableData *dataOut = [NSMutableData dataWithLength:dataIn.length + kCCBlockSizeAES256];
ccStatus = CCCrypt( encryptOrDecrypt,
kCCAlgorithmAES256,
kCCOptionPKCS7Padding,
symmetricKey.bytes,
kCCKeySizeAES256,
iv.bytes,
dataIn.bytes,
dataIn.length,
dataOut.mutableBytes,
dataOut.length,
&cryptBytes);
if (ccStatus != kCCSuccess) {
// Handle error
NSLog(@"CCCrypt status: %d", ccStatus);
}
dataOut.length = cryptBytes;
return dataOut;
}
对于Base64的看到: SO答案
Xcode的4去掉了很多目标类型的,大概是因为苹果认为这是令人困惑的人。
建立一个静态库,而不是,或只是在项目中包含的文件。