

名前を強く押された(Peek)ら連絡先情報を表示しようとしています。

UIViewControllerPreviewingDelegateの  
previewingContext:viewControllerForLocation:で  
[CNContactViewController
viewControllerForContact:contact];を使ってCNContactViewControllerのインスタンスを取得しています。

しかし、テストすると表示される人と表示されない人があり表示されない場合は

plugin com.apple.MobileAddressBook.ContactViewViewService interrupted  
viewServiceDidTerminateWithError:: Error
Domain=_UIViewServiceInterfaceErrorDomain Code=3 "(null)"
UserInfo={Message=Service Connection Interrupted}

というログが書き出されています。  
表示される・されない人は常に同じなので、連絡先データが関連しているようにも思えます。

何をチェックすればいいのでしょうか？

ちなみに実機(iOS 9.0.2, iOS 9.1)でテストしています。


CC BY-SA 3.0
2015-10-22T02:38:19.870
17921
2015-10-22T08:43:49.867
9033
question
ios
CNContactViewControllerをPeekしようとすると真っ白い画面になることがある


その後のテストでUINavigationControllerに含まれていると問題ないことがわかりました。しかし、それだと問題があるのでその方法は使えません。

解決策としてCNContactViewControllerのdisplayedPropertyKeysに任意の項目だけを指定することで回避することができました。


CC BY-SA 3.0
2015-10-22T08:43:49.867
17942
2015-10-22T08:43:49.867
9033
17921
answer