我有一个可在iOS和Android设备上安装和运行的Meteor Cordova应用程序。但是,仅在iOS上,并且只有当iPhone 不插入xCode时,所有图形资源才会从应用程序中消失并显示为无 - 没有损坏的pic图像或盒子轮廓或不同的颜色,只是背景的颜色,好像什么也没有。当你盯着当前屏幕时,它们不会消失,你必须转到不同的屏幕或离开并返回应用程序,但一旦发生,所有图形都消失了。它甚至不会影响页面内容的格式。只是噗,没有更多的图形。
由于它仅在设备上,如果插入xCode不会发生,我无法获得任何可能的错误消息。此外,该应用程序仍然可以正常工作如果我杀了应用程序并重新启动它,那些图标都会回来。
也许这是Cordova为解决WKWebView-no-local-assets问题而做的内部Web服务器的行为?也许这是一个代码问题(我还有另一个iOS问题,那就是iOS和Android的行为方式与字符串对数字不同)。但由于我只能在设备上重现它并且没有连接到调试,我希望有人知道答案。
我将所有图片保存在/public/images
中,如果这是一个线索。但它在Android上不会发生的事实真的是一个难题。
更新
更多信息。我使用Xcode检查控制台日志,发现这些日志条目清楚地显示了图像资源正在被成功检索。
Jan 4 15:06:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6275] <Notice>: TIC TCP Conn Event [162:0x12bd42470]: 1 Err(0)
Jan 4 15:06:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6275] <Notice>: TIC TCP Conn Connected [162:0x12bd42470]: Err(0)
Jan 4 15:06:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6275] <Notice>: TIC TCP Conn Cancel [162:0x12bd42470]
Jan 4 15:06:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6275] <Notice>: TIC TCP Conn Destroyed [162:0x12bd42470]
Jan 4 15:06:00 Andys-iPhone-7 com.apple.WebKit.WebContent(WebKit)[6276] <Notice>: 0x10e2f1148 - WebResourceLoader::didReceiveResponse: (pageID = 2, frameID = 1, resourceID = 239, status = 200)
Jan 4 15:06:00 Andys-iPhone-7 com.apple.WebKit.WebContent(WebKit)[6276] <Notice>: 0x10e2f1148 - WebResourceLoader::didReceiveData: Started receiving data (pageID = 2, frameID = 1, resourceID = 239)
Jan 4 15:06:00 Andys-iPhone-7 com.apple.WebKit.WebContent(WebKit)[6276] <Notice>: 0x10e2f1148 - WebResourceLoader::didFinishResourceLoad: (pageID = 2, frameID = 1, resourceID = 239)
但是当问题发生时,日志是这样的:
Jan 4 14:31:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6252] <Notice>: TIC TCP Conn Event [141:0x159e0d9f0]: 3 Err(61)
Jan 4 14:31:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6252] <Error>: TIC TCP Conn Failed [141:0x159e0d9f0]: 1:61 Err(61)
Jan 4 14:31:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6252] <Notice>: TIC TCP Conn Cancel [141:0x159e0d9f0]
Jan 4 14:31:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6252] <Notice>: TIC TCP Conn Destroyed [141:0x159e0d9f0]
Jan 4 14:31:00 Andys-iPhone-7 com.apple.WebKit.Networking(WebKit)[6252] <Notice>: 0x103184b40 - NetworkResourceLoader::start: Retrieving resource from cache (pageID = 2, frameID = 1, resourceID = 224, isMainResource = 0, isSynchronous = 0)
Jan 4 14:31:00 Andys-iPhone-7 com.apple.WebKit.Networking(CFNetwork)[6252] <Error>: HTTP load failed (error code: -1004 [1:61])
-1004错误无法连接到主机。所以,这个应用程序成功地从内部存在的内容服务器获取图像,但几分钟后就会中断。
有没有人有任何想法? Meteor 1.6,最新的xCode,iOS 10,顺便说一句。谢谢!
答案 0 :(得分:1)
在Meteor论坛上找到答案。在这样的写作中:
https://github.com/meteor/cordova-plugin-meteor-webapp/issues/27
确认插件存在问题,提供嵌入式内容服务器,并且macrozone提供了修复。在项目中安装:
meteor add cordova:cordova-plugin-meteor-webapp@https://github.com/panter/cordova-plugin-meteor-webapp.git#7bb095ce393d17f662cc6bb596ce91acf743d17a
这解决了这个问题,也许还有一些死亡流星线索的白屏。感谢宏观区!