ios - 更新到 Xcode 5.1.1 导致 iOS 应用程序奇怪崩溃

标签 ios xcode jquery-mobile cordova

不幸的是,我将 Xcode 自动更新到版本 5.1.1 (5B1008),现在我的一个应用程序以一种非常奇怪的方式崩溃。

该应用程序是 PhoneGap 3.4 (+ jQuery Mobile 1.3.1) 混合应用程序,当我尝试打开包含 ~20 个 JQM 复选框的 JQM 页面时发生崩溃。

崩溃发生在 WebThread 中的 WebCore WebCore::RenderThemeIOS::paintCheckboxDecorations 调用的 CoreGraphics CGPathAddLineToPoint 中,我猜当 WebCore 尝试在 JQM 页面上呈现复选框。

控制台显示:

断言失败:(CGFloatIsValid(x) && CGFloatIsValid(y)),函数 void CGPathAddLineToPoint(CGMutablePathRef, const CGAffineTransform *, CGFloat, CGFloat),文件 Paths/CGPath.cc,第 224 行。 (lldb)

不包含复选框的任何其他 JQM 页面都会正确显示,并且不会使应用程序崩溃。

编辑:有趣的是,崩溃是由这行 Javascript 触发的:

$('#my_checkbox').prop("checked", my_boolean_value).checkboxradio("刷新");

如果我禁用它,则会显示 JQM 页面。但是,即使上面的行被禁用,如果我单击任何复选框,它也会再次崩溃,并显示与上面相同的 Assertion failed 消息。 (我猜是因为 JQM 切换了检查/未检查类。)

我已经执行了所有我能想到的技巧(清理、禁用调试器、重新启动、重新安装 Xcode),但没有成功。

关于如何解决这个问题有什么想法吗?

最佳答案

我发现了以下非常令人恼火的事实:崩溃是由

触发的
opacity:.01

指令,附加到我的 CSS 中的 JQM .ui-checkbox 类。

将其更改为:

opacity:0

防止崩溃(我仍然不知道这是由于 Xcode bug 还是 iOS bug)。

有趣的是,设置大于0任何值都会触发崩溃。

关于ios - 更新到 Xcode 5.1.1 导致 iOS 应用程序奇怪崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413205/

相关文章:

java - 寻找跨平台移动应用程序与微 Controller 通信的选项

xcode - iOS 12 iPad 拒绝启动请求 - Xcode

objective-c - 为 Xcode 5 的快速帮助⁣帮助创建枚举文档字符串

php - 开发动态 jQuery Mobile 移动应用程序的最佳方式是什么?

适用于桌面和移动设备的 jQuery Mobile

ios - NSFetchedResultsController 使用错误的更新类型进行更新

iphone - 如何在 iPhone 中执行调用和取消调用的代码

ios - 在 RTL 布局中强制 UIImageView 对齐 LTR

objective-c - 显示来自 UITableViewCell 类的警报 - Objective c

android - Jquery mobile 中的背景图片