我在 Xcode 6.0.1 上创建了一个 cordova 2.8.0 iOS 项目
该项目在装有 iOS 8 的 iPhone 6 模拟器上运行
我用的插件是这个https://github.com/hazemhagrass/ContactPicker它在 Android 上运行良好(联系人覆盖打开,当用户选择联系人时,控件返回所选联系人的姓名、电话号码、电子邮件等)
但是在 iOS 中我遇到了一些问题。
我在 ContactPicker.m 中收到的警告显示在快照中
现在联系人叠加层可以正常打开了。
但是当我选择一个联系人时,不会返回所选联系人的详细信息。我只看到所选联系人的详细信息页面,并且控件没有返回到 Phonegap 应用程序,就像在 Android 上一样
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];
}
来源:
关于ios - Cordova iOS Contact Picker Native 覆盖插件无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26567543/