开发者社区> 问答> 正文

卡在闪屏上

Cordova,iOS和Xcode,应用程序被粘在了屏幕上,只在iPhone上,而不是继续运行。

Installed platforms:
  android 8.1.0
  ios 5.1.1
Available platforms: 
  browser ~5.0.1
  osx ~4.0.1
  windows ~6.0.0
cordova version: 8.1.2 (cordova-lib@8.1.1)

这个问题发生时,试图打开应用程序,它一直站在启动屏幕上,而没有传播到实际的应用程序。在使用“构建和播放”按钮从Xcode安装或更新它之后,这并不是通常的行为--有时会继续,有时会卡住--但在关闭应用程序并重新打开它之后,就会出现问题。

这是index.html代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Security-Policy" 
    content="
      worker-src blob:; 
      child-src blob: gap:;
      default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: gap: content:">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui, viewport-fit=cover">

  <meta name="theme-color" content="#A83AFA">
  <meta name="format-detection" content="telephone=no">
  <meta name="msapplication-tap-highlight" content="no">
  <title>My app</title>
</head>
<body>
  <div id="app"></div>
  <% if (process.env.TARGET === 'cordova') { %>
    <script src="version.js"></script>
    <script src="cordova.js"></script>
  <% } %>
</body>
</html>

我使用webpack来构建这个项目,然后使用Cordova构建IOS。我认为这可能是CORS的一个问题,但我找不到它的任何引用-Xcode只给我控制台日志错误,而不是像CORS那样的web视图错误。

我尝试过的是:当我试图根据ngrok服务提供的本地主机API加载应用程序时,这个应用程序的启动实际上没有问题。当我移到暂存的API时,这个问题就会发生,它位于一个与ngrok隧道不同的域中。

这就是为什么我怀疑这个问题是通过CORS问题发生的,可能是在服务器上,也可能是在前端。因此,我将详细介绍我的服务器配置(如果这有帮助的话):在Express和NodeJS上运行,使用NodeJS的CORS插件,并通过添加这个中间件来启用它:app.use(require('cors')());

我试图重建,甚至删除和重新添加科多瓦项目的iOS平台。试图删除一些插件,可能导致这一点。

这是插件列表,如果它有帮助的话:

code-push 3.0.1 "CodePushAcquisition"
cordova-background-geolocation-lt 3.4.2 "BackgroundGeolocation"
cordova-plugin-appcenter-analytics 0.3.5 "App Center Analytics for Cordova"
cordova-plugin-appcenter-crashes 0.3.5 "App Center Crashes for Cordova"
cordova-plugin-appcenter-shared 0.3.5 "App Center shared code for Cordova"
cordova-plugin-background-fetch 5.6.1 "CDVBackgroundFetch"
cordova-plugin-background-mode 0.7.3 "BackgroundMode"
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-browsersync 0.1.7 "cordova-plugin-browsersync"
cordova-plugin-code-push 1.12.0 "CodePush"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.2 "Notification"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-inappbrowser 3.0.0 "InAppBrowser"
cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)"
cordova-plugin-keyboard 1.2.0 "Keyboard"
cordova-plugin-media 5.0.3 "Media"
cordova-plugin-request-location-accuracy 2.3.0 "Request Location Accuracy"
cordova-plugin-sim 1.3.3 "SIM"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-vibration 3.1.1 "Vibration"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-wkwebview-engine 1.1.4 "Cordova WKWebView Engine"
cordova-plugin-zip 3.1.0 "cordova-plugin-zip"
cordova.plugins.diagnostic 4.0.12 "Diagnostic"

我在Wifi和4G上都试过了。有或没有连接到Xcode的电缆。

在生产环境下,我使用webpack构建了这个项目,目标是在上传到AppStore之前进行测试。我也怀疑问题与webpack建立的生产模式有关。

展开
收起
游客5akardh5cojhg 2019-12-17 15:28:23 475 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载