Cordova iOS Contact Picker 本机覆盖插件无法正常工作
Posted
技术标签:
【中文标题】Cordova iOS Contact Picker 本机覆盖插件无法正常工作【英文标题】:Cordova iOS Contact Picker Native overlay plugin not working properly 【发布时间】:2014-10-25 21:42:26 【问题描述】:我在我的 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。
【问题讨论】:
【参考方案1】:问题解决了
只需在 ContactPicker.m 中包含以下代码
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person
[self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person];
来源:
ABPeoplePickerNavigationController changes with iOS8?
People Picker with ios 7, and ios 8
【讨论】:
以上是关于Cordova iOS Contact Picker 本机覆盖插件无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
垂直滚动在 iOS 上不起作用,但在 Android 上运行良好
react-native-picke Cannot read property '_init' of undefined