我在Xcode 6.0.1上创建了cordova 2.8.0 iOS项目
该项目在具有iOS 8的iPhone 6模拟器上运行
我正在使用的https://github.com/hazemhagrass/ContactPicker插件在Android上运行良好(打开了联系人叠加层,当用户选择联系人时,控件将返回所选联系人的姓名,电话号码,电子邮件等)
但是在iOS中,我遇到了一些问题。
我在ContactPicker.m中收到的警告显示在快照中
现在,联系人叠加可以很好地打开了。
但是当我选择一个联系人时,不会返回所选联系人的详细信息。我只看到所选联系人的详细信息页面,并且控件没有像Android上那样返回到Phonegap应用程序
ContactPicker.m的代码
https://github.com/hazemhagrass/ContactPicker/blob/master/src/ios/ContactPicker.m
ContactPicker.h的代码
https://github.com/hazemhagrass/ContactPicker/blob/master/src/ios/ContactPicker.h
谢谢你的帮助
很少有其他见识,我不是Objective C的人,但是通过调试,我发现在弹出叠加层时会调用ContactPicker.m的“chooseContact”方法,此后,当用户选择联系人时,不会从ContactPicker.m选择其他方法但是,一旦我按下“取消”按钮,就会调用“peoplePickerNavigationControllerDidCancel”方法,它会返回到Phonegap App,而没有任何contactInfo。
最佳答案
问题已解决
只需在ContactPicker.m中包含以下代码
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person{
[self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person];
}
资料来源: