Iphone 如何为iOS 4编译和使用CommonCrypto?
由于CCKeyDerivationPBKDF在iOS 5.0之后才可用,因此人们建议使用此处提供的CommonCrypto的开放源代码: 我的问题是-如何在现有项目中使用此开源代码?我们应该创建动态库并以某种方式将其包含在项目中,还是将源代码文件添加到现有项目中?如何在Xcode中实现它?如何确保在iOS 4设备/模拟器上运行时找到该功能Iphone 如何为iOS 4编译和使用CommonCrypto?,iphone,ios,xcode,commoncrypto,Iphone,Ios,Xcode,Commoncrypto,由于CCKeyDerivationPBKDF在iOS 5.0之后才可用,因此人们建议使用此处提供的CommonCrypto的开放源代码: 我的问题是-如何在现有项目中使用此开源代码?我们应该创建动态库并以某种方式将其包含在项目中,还是将源代码文件添加到现有项目中?如何在Xcode中实现它?如何确保在iOS 4设备/模拟器上运行时找到该功能 谢谢。我不得不在我的Xcode项目中包括CommonKeyDerivation.c、CommonKeyDerivation.h、CommonKeyDeriv
谢谢。我不得不在我的Xcode项目中包括CommonKeyDerivation.c、CommonKeyDerivation.h、CommonKeyDerivationPriv.h,但这已经足够了–因为似乎iOS4 CommonCrypto中已经包含了CCKeyDerivationPBKDF所需的其他支持/基础功能。总结一下,因为@Raj Lalwani的答案并不完整-一些细节被遗漏了 三个文件:
- CommonKeyDerivation.c
- CommonKeyDerivation.h
- CommonKeyDerivationPriv.h
#定义内核
这将关闭编译器错误
在CommonKeyDerivation.h的源代码中,有两个原型,如图所示:
int
CCKeyDerivationPBKDF( CCPBKDFAlgorithm algorithm, const char *password, size_t passwordLen,
const uint8_t *salt, size_t saltLen,
CCPseudoRandomAlgorithm prf, uint rounds,
uint8_t *derivedKey, size_t derivedKeyLen)
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA);
及
将\uuuuuuOSX\uAvailable\uStarting(\uuuuMac\u10\u7,\uuuuuIphone\uNA)
更改为此\uuuOSX\uAvailable\uStarting(\uuuuMac\u10\u6,\uuuIphone\u4\u2)
,如果在针对iOS 4.2的雪豹上
您可能必须在构建选项中指定包含路径。这是我的直觉;很高兴它真的像我希望的那样简单。
uint
CCCalibratePBKDF(CCPBKDFAlgorithm algorithm, size_t passwordLen, size_t saltLen,
CCPseudoRandomAlgorithm prf, size_t derivedKeyLen, uint32_t msec)
__OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA);