iOS 8.0和9.0中的AddressBook和Contacts框架

use*_*744 3 addressbook ios8 ios9 contacts-framework

我正在尝试构建一个应用程序,用于从用户联系人中获取联系人列表,并在应用程序的自定义UI中呈现它.我想支持iOS 8和iOS9但问题是在iOS9中不推荐使用AddressBook框架的方法,而Contacts Framework不支持iOS 8.0.有没有办法可以同时支持8和9?

提前致谢!

小智 5

如果要支持两个iOS版本,则必须实现这两个代码.

对于Objective-C,您必须检查以下iOS版本

NSComparisonResult order = [[UIDevice currentDevice].systemVersion compare: @"9.0" options: NSNumericSearch];
if (order == NSOrderedSame || order == NSOrderedDescending) {
    // OS version >= 9.0
    // Call contact address book function
} else {
    // OS version < 9.0
    // Call address book function
}
Run Code Online (Sandbox Code Playgroud)

对于迅捷,

if #available(iOS 9.0, *) {
    // OS version >= 9.0
    // Call contact address book function
} else {
    // OS version < 9.0
    // Call address book function
}
Run Code Online (Sandbox Code Playgroud)