使用以下方法,我可以立即在 iOS 5 上获得正确的订单,但在 iOS 6 和 7 上,在设置中切换后,或在重新启动应用程序后(关闭设置后),订单不会改变。
BOOL firstNameFirst = NO;
if (IOS_VERSION>=7) {
firstNameFirst = (ABPersonGetCompositeNameFormatForRecord(NULL)==kABPersonCompositeNameFormatFirstNameFirst);
}else{
firstNameFirst = (ABPersonGetCompositeNameFormat() == kABPersonCompositeNameFormatFirstNameFirst);
}
我错过了什么?
编辑:这个 bool 应该存储用户默认顺序,所以我可以订购名字和姓氏字符串,并以他在 iPhone 设置中设置的方式显示给用户。
EDIT2:IOS_VERSION
宏工作完美,我使用断点检查它们,但无论设置/邮件、联系人、日历/联系人/显示顺序设置是什么,我总是得到YES
forfirstNameFirst
的值