网站在 iOS 的 Safari 上崩溃

Posted

技术标签:

【中文标题】网站在 iOS 的 Safari 上崩溃【英文标题】:Website is crashing on Safari in iOS 【发布时间】:2017-05-10 11:10:33 【问题描述】:

我们在客户的网站上遇到了一个复杂的问题。该网站在 iPhone 6 Plus 上的 ios 9.3.2 上崩溃。但是,它不会在最新版本的 iOS 上甚至在装有 iOS 9.3.1 的 iPhone 6 上崩溃。

如何重现错误:

    用 iPhone 6(或 iPhone 6 Plus)打开网站: http://www.kindervorhang.ch/Vorhaenge-fixfertig-Verdunkler-Ellie 点击 «In den Warenkorb» 将产​​品添加到购物篮中 现在,如果您滚动网站或更改方向,它将崩溃 现在,如果您触摸某物或稍微滚动一下,它将再次崩溃,直到您看到全屏错误描述

有没有人遇到类似的问题或者现在如何解决?

我在 Xcode 中得到了这个错误代码:

May 10 12:43:56 ASs-iPhone diagnosticd[88] <Error>: unable to find offset 0x804cf98c in shared cache for arch 'arm64'
May 10 12:43:56 ASs-iPhone ReportCrash[703] <Notice>: platform_task_update_threads failed 1
May 10 12:43:56 ASs-iPhone ReportCrash[703] <Notice>: Formulating report for process[699] com.apple.WebKit.WebContent
May 10 12:43:56 ASs-iPhone assertiond[67] <Error>: assertion failed: 13F69: assertiond + 72572 [0B862A7D-6E8B-3778-AD17-C7694ECD5BCD]: 0x3
May 10 12:43:56 ASs-iPhone Unknown[67] <Error>: 
May 10 12:43:56 ASs-iPhone assertiond[67] <Error>: assertion failed: 13F69: assertiond + 72572 [0B862A7D-6E8B-3778-AD17-C7694ECD5BCD]: 0x3
May 10 12:43:56 ASs-iPhone Unknown[67] <Error>: 
May 10 12:43:56 ASs-iPhone UserEventAgent[26] <Notice>: jetsam: kernel termination snapshot being created
May 10 12:43:56 ASs-iPhone ReportCrash[703] <Warning>: report not saved because it is non-actionable
May 10 12:43:56 ASs-iPhone com.apple.xpc.launchd[1] <Error>: assertion failed: 13F69: launchd + 116796 [9F6284CF-8A17-36CC-9DB5-85D510A21F14]: 0x3
May 10 12:43:56 ASs-iPhone ReportCrash[704] <Warning>: Report of type '298(298)' not saved because the limit of 25 logs has been reached

【问题讨论】:

【参考方案1】:

我只是花了一整天的时间来解决一个类似的问题。我的网站在 iPad 3 和 iPhone 5 上加载时崩溃。我最终将其范围缩小为 CSS 属性:

#cv-section-header   
    overflow-x: hidden;

很难相信 CSS 属性会导致网站在旧版 iOS 上崩溃,但事实就是如此。

【讨论】:

【参考方案2】:

我们逐行测试了 css 行,发现如果我们将这些行注释掉,一切正常:

div.set-65131>.colInside 
  position: fixed;
  top: 0;
  height: 100%;
  width: 100%


div.set-53541 
  height: 100%;
  width: 100%;
  position: absolute



div.set-53541>.colInside 
  background-image: none;
  background-color: rgba(255, 255, 255, 0)


div.set-53541>.colInside 
  height: 100%;
  max-width: 1240px;
  left: 0!important;
  right: 0!important;
  margin-left: auto!important;
  margin-right: auto!important;
  position: fixed

现在它可以在所有不同的设备上运行。问题可能是位置固定在组合宽度高度 100%。

我们找到了一种不同的解决方案来应用我们的背景图像。

【讨论】:

以上是关于网站在 iOS 的 Safari 上崩溃的主要内容,如果未能解决你的问题,请参考以下文章

iOS safari 崩溃(问题反复出现)

iOS 9 Safari webkit 仅在 iPad 上崩溃(iPhone 工作正常)

如何确定 Mobile Safari 崩溃的原因?

iPhone 和 iPad 上的 Safari 在缩放时崩溃(双击和捏合)

webkit-backface-visibility 崩溃 safari 和 chrome (IOS)

如何在我的网站上启用iOS 5 Safari Reader?