【问题标题】:NSURLConnection error 1100 while running ionic app on iOS在 iOS 上运行离子应用程序时出现 NSURLConnection 错误 1100
【发布时间】:2019-09-21 20:45:39
【问题描述】:

我已经用 ionic 4 和 cordova 构建了一个应用程序。在 android 上,该应用程序运行起来就像一个魅力,但在 iOS 上,我遇到了一些奇怪的问题......就像其他人一样(Ionic IOS app NSURLConnection error 1100ionic 4 app shows white screen on ios with error code 1100)。 应用程序 ionic 构建运行良好,没有任何错误,只有一些未使用导入的警告。此外,xcode 构建快速且成功。但是当应用程序在真实设备或模拟器上运行时,我只会得到一个空白屏幕。在控制台中,我通过额外的调试得到了这个:

我发现提到了一些类似的问题,还添加了环境变量 (CFNETWORK_DIAGNOSTICS = 1) 用于高级网络日志记录,以便在控制台中获取更多信息(整个文件:https://pastebin.com/yecJ5Vzy)或一些 sn-ps:

2019-05-03 10:59:49.788736+0200 MyNiceApp[3426:1312031] CFNetwork Diagnostics [1:1] 10:59:49.787 {
DiskCookieStorage Construction: Binary{ Disk Cookies: { /private/var/mobile/Containers/Data/Application/23CCB045-0976-4DD0-A19B-0BD8CB6825FD/Library/Cookies/Cookies.binarycookies, <0 cookies in 0 domains> clean not writing } }
                     Accessing: <CFURL 0x282db3c60 [0x1bda5d610]>{string = file:///private/var/mobile/Containers/Data/Application/13371337-0976-4DD0-A19B-0BD8CXYZAS/Library/Cookies/Cookies.binarycookies, encoding = 13371337, base = (null)}
                          Path: /private/var/mobile/Containers/Data/Application/13371337-0976-4DD0-A19B-0BD8CXYZAS/Library/Cookies/Cookies.binarycookies
                Read from disk: <0 cookies in 0 domains>
                         Dirty: NO
                       Writing: NO
                        Policy: 0
} [1:1]
2019-05-03 10:59:49.788845+0200 MyNiceApp[3426:1312031] CFNetwork Diagnostics [1:2] 10:59:49.788 {
DiskCookieStorage Journaling On: Binary{ Disk Cookies: { /private/var/mobile/Containers/Data/Application/13371337-0976-4DD0-A19B-0BD8CXYZAS/Library/Cookies/Cookies.binarycookies, <0 cookies in 0 domains> clean not writing } }
                           File: <CFURL 0x282db3c60 [0x1bda5d610]>{string = file:///private/var/mobile/Containers/Data/Application/13371337-0976-4DD0-A19B-0BD8CXYZAS/Library/Cookies/Cookies.binarycookies, encoding = 13371337, base = (null)}
} [1:2]
2019-05-03 10:59:49.879254+0200 MyNiceApp[3426:1312031] Apache Cordova native platform version 5.0.0 is starting.
2019-05-03 10:59:49.879772+0200 MyNiceApp[3426:1312031] Multi-tasking -> Device: YES, App: YES
2019-05-03 10:59:49.901704+0200 MyNiceApp[3426:1312031] Using UIWebView
2019-05-03 10:59:49.904145+0200 MyNiceApp[3426:1312031] [CDVTimer][console] 0.041008ms
2019-05-03 10:59:49.904228+0200 MyNiceApp[3426:1312031] [CDVTimer][handleopenurl] 0.049949ms
2019-05-03 10:59:49.905236+0200 MyNiceApp[3426:1312031] Unlimited access to network resources
2019-05-03 10:59:49.905271+0200 MyNiceApp[3426:1312031] [CDVTimer][intentandnavigationfilter] 1.001954ms
2019-05-03 10:59:49.905338+0200 MyNiceApp[3426:1312031] [CDVTimer][gesturehandler] 0.050068ms
2019-05-03 10:59:49.905379+0200 MyNiceApp[3426:1312031] [CDVTimer][backgroundfetch] 0.025034ms
2019-05-03 10:59:49.905397+0200 MyNiceApp[3426:1312031] [CDVTimer][TotalPluginStartup] 1.327991ms
2019-05-03 10:59:50.139954+0200 MyNiceApp[3426:1312031] Resetting plugins due to page load.
2019-05-03 10:59:50.158278+0200 MyNiceApp[3426:1312115] CFNetwork Diagnostics [1:3] 10:59:50.158 {
LoaderWhatToDo: (null)
       Request: <CFURL 0x282db7c00 [0x1bda5d610]>{string = file:///var/containers/Bundle/Application/13371337-0976-4DD0-A19B-0BD8CXYZAS/MyNiceApp.app/www/index.html, encoding = 13371337, base = (null)}
   CachePolicy: 0
      WhatToDo: originload
   CreateToNow: 0.00069s
} [1:3]
2019-05-03 10:59:50.161705+0200 MyNiceApp[3426:1312031] Failed to load webpage with error: The operation couldn’t be completed. (NSURLErrorDomain error -999.)
2019-05-03 10:59:50.162212+0200 MyNiceApp[3426:1312031] Resetting plugins due to page load.
2019-05-03 10:59:50.162894+0200 MyNiceApp[3426:1312115] CFNetwork Diagnostics [1:4] 10:59:50.162 {
LoaderWhatToDo: (null)
       Request: <CFURL 0x282d94060 [0x1bda5d610]>{string = file:///var/containers/Bundle/Application/13371337-0976-4DD0-A19B-0BD8CXYZAS/MyNiceApp.app/www/index.html, encoding = 13371337, base = (null)}
   CachePolicy: 0
      WhatToDo: originload
   CreateToNow: 0.00030s
} [1:4]

稍后在控制台日志中:

2019-05-03 10:59:50.278000+0200 MyNiceApp[3426:1312114] NSURLConnection finished with error - code -1100
2019-05-03 10:59:50.278024+0200 MyNiceApp[3426:1312114] NSURLConnection finished with error - code -1100

该应用似乎无法加载自己的文件。因为错误 -1100 表示 NSURLErrorFileDoesNotExist

【问题讨论】:

    标签: ios angular xcode cordova ionic-framework


    【解决方案1】:

    遇到同样的问题,经过相当多的努力和研发,这对我有用。

    似乎 IOS 采用了相对路径,因此请在您的 src -> index.html 中更改此设置 基础href="/" 到 base href="./"(注意/开头的点)

    这将加载所有相关的 js 文件(cordova.js、polyfill.js 等)

    1100 错误是由于绝对路径而找不到文件。

    【讨论】:

    • 这对我有用,它解决了问题,但是它带来了一些奇怪的行为,例如找不到图像和具有权限的插件的应用名称
    • 图标和图像未正确加载:/ @JoseGeorges 你找到解决方案了吗?
    • @JanMoritz 我用 Flutter 重建了应用程序
    【解决方案2】:

    在研究了很多东西之后,我的解决方案是执行这个命令:

    ionic cordova plugin add cordova-plugin-ionic-webview --save

    【讨论】:

    • 这里的这个也确实解决了这个问题,但是对于使用定位服务的人来说,它会为他们破坏这些。根据经验
    猜你喜欢
    • 2018-07-29
    • 1970-01-01
    • 2018-03-26
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多