我現在在iOS8中工作,我想檢查CFType'SecAccessControlRef'是否可用。由於該應用程序將支持iOS 7,沒有檢查,該應用程序將崩潰。對於一個普通的NSClass,我只會使用一個支票,如如何檢查一個類或CFType是否可用Objective-C
if (NSClassFromString('SomeClass') == NULL)
但是有沒有類似的非NSClass項目?
我現在在iOS8中工作,我想檢查CFType'SecAccessControlRef'是否可用。由於該應用程序將支持iOS 7,沒有檢查,該應用程序將崩潰。對於一個普通的NSClass,我只會使用一個支票,如如何檢查一個類或CFType是否可用Objective-C
if (NSClassFromString('SomeClass') == NULL)
但是有沒有類似的非NSClass項目?
,而不是測試爲本身類型您可以測試的功能之一是支持類型。當框架弱連接時,如果框架不存在,則C函數的地址將爲NULL
。例如,你應該能夠使用類似:
BOOL isSecAccessControlRefAvailable = SecAccessControlCreateWithFlags != NULL;
見使用弱聯結方法,函數和符號在蘋果的SDK Compatibility Guide。
不理想,但它會 – CoderNinja
這不正是你想要的,但我用這個對於類似類型的問題:
if (&kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly == NULL) {
return NO; // must be on iOS7
}
我能找到的最接近的是[this](https://www.secsign.com/fingerprint-validation-as-an-alternative-to-passcodes/)文章,它只是檢查用戶設備是否支持指紋驗證所有。 – dean