Cordova iOS Contact Picker Native覆盖插件无法正常工作

时间:2014-10-25 21:42:26

标签: ios cordova plugins contacts

我在Xcode 6.0.1上创建了一个cordova 2.8.0 iOS项目

该项目在iOS 8的iPhone 6模拟器上运行

我正在使用的插件是https://github.com/hazemhagrass/ContactPicker,它在Android上运行良好(联系人覆盖图打开,当用户选择联系人时,控件将返回所选联系人的姓名,电话号码,电子邮件等)

然而在iOS中我遇到了一些问题。

我在ContactPicker.m中收到的警告显示在快照

ContactPicker Plugin Warning Snapshot

现在联系人覆盖正常。

Contacts Overlay

但是当我选择联系人时,不会返回所选联系人详细信息。我只看到所选联系人的详细信息页面和控件没有返回到Phonegap应用程序,就像在Android上一样

Contacts Details

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

感谢您的帮助

更多的见解,我不是一个客观的C人,但通过调试我发现“chooseContact"随着覆盖弹出,调用ContactPicker.m中的方法,之后用户选择联系人时,不会调用ContactPicker.m中的其他方法。但是一旦我点击取消按钮“peoplePickerNavigationControllerDidCancel"方法被调用,它返回到没有任何contactInfo的Phonegap应用程序。

1 个答案:

答案 0 :(得分:1)

问题已解决

只需在ContactPicker.m中包含以下代码

即可
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person{
    [self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person];
}

来源:

  1. ABPeoplePickerNavigationController changes with iOS8?

  2. People Picker with ios 7, and ios 8