ios - 更新到 Xcode 5.1.1 导致 iOS 应用程序奇怪的崩溃
<p><p>不幸的是,我将 Xcode 自动更新到版本 5.1.1 (5B1008),现在我的一个应用程序以一种非常奇怪的方式崩溃了。</p>
<p>该应用程序是 PhoneGap 3.4 (+ jQuery Mobile 1.3.1) 混合应用程序,当我尝试打开包含 ~20 JQM 复选框的 JQM 页面时发生崩溃。</p>
<p>崩溃发生在 <code>WebCore WebCore::RenderThemeIOS::paintCheckboxDecorations</code> 在 <code>WebThread</code> 调用的 <code>CoreGraphics CGPathAddLineToPoint</code> 中,我猜当 WebCore 尝试在 JQM 页面上呈现复选框。</p>
<p>控制台显示:</p>
<p><code>断言失败:(CGFloatIsValid(x) && CGFloatIsValid(y)),函数 void CGPathAddLineToPoint(CGMutablePathRef, const CGAffineTransform *, CGFloat, CGFloat),文件 Paths/CGPath.cc,第 224 行。
(lldb)</code></p>
<p>任何其他不包含复选框的 JQM 页面都会正确显示,并且不会使应用程序崩溃。</p>
<p>编辑:有趣的是,崩溃是由这行 Javascript 触发的:</p>
<p><code>$('#my_checkbox').prop("checked", my_boolean_value).checkboxradio("refresh");</code></p>
<p>如果我禁用它,则会显示 JQM 页面。但是,即使上面的行被禁用,如果我单击任何复选框,它也会再次崩溃,并显示与上面相同的 <code>Assertion failed</code> 消息。 (我猜是因为 JQM 切换了检查/未检查类。)</p>
<p>我已经执行了我能想到的所有技巧(清理、禁用调试器、重新启动、重新安装 Xcode),但没有运气。</p>
<p>关于如何解决这个问题的任何想法?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我发现了以下<strong>非常烦人</strong>的事实:崩溃是由一个</p>触发的
<pre><code>opacity:.01
</code></pre>
<p>指令,附加到我的 CSS 中的 JQM <code>.ui-checkbox</code> 类。</p>
<p>改成:</p>
<pre><code>opacity:0
</code></pre>
<p>防止崩溃(我仍然不知道是由于 Xcode 错误还是 iOS 错误)。</p>
<p>有趣的是,将 <strong>any</strong> 值设置为大于 <code>0</code> 会触发崩溃。</p></p>
<p style="font-size: 20px;">关于ios - 更新到 Xcode 5.1.1 导致 iOS 应用程序奇怪的崩溃,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/23413205/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/23413205/
</a>
</p>
页:
[1]