今天试了一下 iOS9 新加的 Contacts 和 ContactsUI ,在尝试显示 CNContactPickerViewController
时遇到了这个问题。
完整的信息如下:
2016-01-09 18:01:42.621 Mobile OA[3628:219885] plugin com.apple.MobileAddressBook.ContactsViewService interrupted
2016-01-09 18:01:42.623 Mobile OA[3628:219885] plugin com.apple.MobileAddressBook.ContactsViewService invalidated
2016-01-09 18:01:42.624 Mobile OA[3628:219557] viewServiceDidTerminateWithError:: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "(null)" UserInfo={Message=Service Connection Interrupted}
2016-01-09 18:01:42.625 Mobile OA[3628:219855] [CNUI ERROR] error calling service - Couldn’t communicate with a helper application.
2016-01-09 18:01:52.444 Mobile OA[3628:219557] [CNUI ERROR] Contact picker delayed appearance timed out - YES
出错代码:
let contactPicker = CNContactPickerViewController()
contactPicker.predicateForEnablingContact = CNContact.predicateForContactsInGroupWithIdentifier("547A3057-B39D-4BC1-83A2-41C27A5AAAD7:ABGroup")
presentViewController(contactPicker, animated: true, completion: nil)
其中 CNContact.predicateForContactsInGroupWithIdentifier("547A3057-B39D-4BC1-83A2-41C27A5AAAD7:ABGroup")
一行为为问题所在,注释即正常运行。
但这行代码应该是没问题的,Group identifier 确认有,组里有联系人,Predicate 也是用 CNContact
的类方法生成的。
有没有有这方面使用经验的人指点一下,哪里出了问题?还是说是个 Bug ?
PHPz2017-04-17 17:39:21
아, 이 질문을 항상 잊어버렸네요.
최종 연구 결과는 버그인데, 믿겨지시나요?
이제는 해결책이 불분명하므로 이런 결론을 채택하지 않을 것입니다. 우리가 해결책을 알거나 이를 우회할 수 있는 방법을 찾는 사람은 없을 것입니다. . .