【发布时间】:2018-03-20 15:10:59
【问题描述】:
我有一个 Cordova 应用程序,它在 Android 上运行良好。现在我也想制作一个 iOS 版本的应用程序,毕竟这就是我们使用 Cordova 的原因。我将跳过签署代码所需的设置,等等。
最大的问题是同一应用无法在 iOS 上运行。 JavaScript 从应用程序开始就崩溃了。
基本上,该应用程序仅在模拟器(xcode 8.3 和 iPhone 4 模拟器)中运行,设备上的 JavaScript 完全冻结。 即使在 iPhone 5 的模拟器上也没有任何东西可以运行。
我怀疑运行代码的权限存在某种问题,或者某个插件可能存在问题。
index.html 中的 CSP 行是这样的:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'self' 'unsafe-inline' 'unsafe-eval'; script-src * 'self' 'unsafe-inline' 'unsafe-eval'; frame-src *; worker-src *; ">
插件的完整列表如下。我知道对于sqllite插件,这里描述的代码有一个小改动,试过了,还是不行。
Stackoverflow - sqlite plugin on ios
请将您的代码行更改为 变量数据库 = window.openDatabase("test.db", "1.0", "test", 20000); (这是为了 IOS) 代替 var db = window.sqlitePlugin.openDatabase("test.db", “1.0”,“测试”,20000); (这是安卓版)
应用中使用的插件。
cordova-plugin-app-event 1.2.1 "Application Events"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-crosswalk-webview 2.3.0 "Crosswalk WebView Engine"
cordova-plugin-device 1.1.7 "Device"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)"
cordova-plugin-mauron85-background-geolocation 2.2.5 "CDVBackgroundGeoloc
cordova-plugin-network-information 1.2.1 "Network Information"
cordova-plugin-spinner 1.1.0 "Spinner Plugin"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.3.1-dev "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-sqlite-storage 1.4.9 "Cordova sqlite storage plugin"
cordova.plugins.diagnostic.api-22 2.3.10-api-22 "Diagnostic"
de.appplant.cordova.plugin.local-notification 0.8.5 "LocalNotification"
我的问题是我不知道如何在 iOS 上调试应用程序。而且,也许权限或 CSP 只是一个小问题,或者只是需要更新的插件。 欢迎任何想法!
【问题讨论】:
标签: javascript android ios cordova cordova-plugins