Подводя итог, поскольку ответ @Raj Lalwani не является полностью полным - некоторые детали были опущены !!!
Три файла:
- CommonKeyDerivation.c
- CommonKeyDerivation.h
- CommonKeyDerivationPriv.h
В источнике для CommonKeyDerivation.c , ниже стандартного комментария лицензии Apple, вставьте это:
#define KERNEL
Это отключит ошибку компилятора.
В источнике 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);
И
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);
Измените __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_NA)
на __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_2)
, если на Snow Leopard используется iOS 4.2.
Возможно, вам потребуется указать путь включения вВарианты сборки.