tsc*_*len 3 javascript ios phonegap-plugins cordova phonegap-pushplugin
我在iOS上使用Cordova 3.5.0.
我的应用程序加载,'deviceReady'事件被触发,但直到我将我的应用程序放在后台(通过转到主屏幕)才执行插件操作.
当我回到我的应用程序时,'resume'处理程序被触发,日志显示在LLDB中,PushNotification插件开始侦听事件并尝试注册推送通知.
为什么只有在我的应用程序进入睡眠状态后才会发生这种情况?
这些是已安装的插件(cordova plugins ls):
com.patrickheneise.cordova.statusbar 0.0.2 "Status Bar"
com.phonegap.plugins.PushPlugin 2.2.1 "PushPlugin"
com.phonegap.plugins.actionsheet 1.0.0 "ActionSheet"
org.apache.cordova.console 0.2.10-dev "Console"
org.apache.cordova.dialogs 0.2.9-dev "Notification"
org.apache.cordova.vibration 0.3.10-dev "Vibration"
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我在自己的应用程序中遇到了同样的问题cordova 6.3.0.经过几十次测试后我发现了问题.
我有一个Content-Security-Policy元标记定义如下:
<meta http-equiv="Content-Security-Policy" content="default-src *;
style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'
'unsafe-eval'; media-src *">
Run Code Online (Sandbox Code Playgroud)
事实证明default-src *还不够.
使用以下策略:
<meta http-equiv="Content-Security-Policy" content="default-src *
'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline';
script-src 'self' 'unsafe-inline' 'unsafe-eval'; media-src *">
Run Code Online (Sandbox Code Playgroud)
这里的关键部分是 gap:
似乎需要在iOS上正确执行cordova插件代码.但我仍然觉得奇怪的是,该政策受到恢复应用程序的影响.
附加说明:该问题似乎会影响在webview外部显示的所有插件.我用cordova-plugin-camera,phonegap-plugin-barcodescanner,cordova-plugin-dialogs.其他插件如cordova-plugin-file-transfer工作得很好.
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |