iOS 版本中不会触发 Phonegap 插件回调

Posted

技术标签:

【中文标题】iOS 版本中不会触发 Phonegap 插件回调【英文标题】:Phonegap plugin callbacks don't fire in iOS build 【发布时间】:2016-09-20 07:24:49 【问题描述】:

My Phonegap 应用在本地为 ios 设备提供服务时效果很好。但是,在从 Phonegap Build 安装 .ipa 文件后,我看到了一个奇怪的行为。请求插件命令时,应用程序似乎根本没有响应。当我双击主页按钮以显示打开的应用程序摘要视图时,插件回调会适当地触发。这是最奇怪的事情。 geolocationbarcodescanner 插件都发生了这种情况。

所以插件在构建中并且回调正在触发,但直到应用程序“最小化”。任何帮助将不胜感激。

config.xml:https://gist.github.com/thelucre/dd07998ad350b2916113a8c9a4823db4

Phonegap 构建信息:

PhoneGap (iOS / android / Windows) cli-6.3.0 (4.2.0 / 5.2.1 / 4.4.1)

已确认 iPhone 5s - 10.0.1 和 iPad 4 - 9.5.3 上的问题

【问题讨论】:

【参考方案1】:

事实证明,whitelist 插件设置搞砸了 geolocationbarcodescanner 的内容策略。我删除了<meta http-equiv="Content-Security-Policy" ... 标签,它正在构建中。

为了记录,我首先让 iOS 项目用 Xcode 编译,然后调试器吐出这个错误:

FAILED pluginJSON = [ "Geolocation1841912763", "Geolocation", "getLocation",[false,0]]

该日志将我带到下面的答案来源。我将来可能会更新Content-Security-Policy 属性,但至少我现在可以演示我的应用程序。

来源:https://github.com/driftyco/ionic-cli/issues/259#issuecomment-139238385

【讨论】:

以上是关于iOS 版本中不会触发 Phonegap 插件回调的主要内容,如果未能解决你的问题,请参考以下文章

来自 Cordova iOS 插件的后续回调不会触发

phonegap ios的奇怪错误

Xcode 中的 phoneGap 不会触发 Deviceready 事件

Phonegap 1.1 / iOS5 插件未触发

PhoneGap FileReader/readAsDataURL 不触发回调

Phonegap 3.3.0 iOS FileSystem 插件未触发完成、进度或错误