chr*_*ens 5 ios angularjs cordova hybrid-mobile-app
我们看到了这个奇怪的错误,我在网上还找不到任何东西。只有一篇文章没有答案或解决方法: https://groups.google.com/forum/#!topic /phonegap/7pRzASZpnQc
我们使用 Angular、Underscore、Angular-route、Angular-Touch、Angular-Animate、CSS Flex 布局和 Cordova 3.1.0 构建了一个应用程序,在 Android 4.0++ 上,一切都运行得非常顺利。
当我们将 iOS 转移到 Mac 上并添加 iOS 平台时,我们在 XCode5 中进行编译,当我们通过此调用单击或尝试在 iPhone 模拟器 6.1 和 7 中滚动时,应用程序会在某些 HTML 视图(不是全部)上崩溃堆:
2013-11-12 17:22:49.193 App[7034:907] -[__NSCFSet opacity]: unrecognized selector sent to instance 0x98e8660
2013-11-12 17:22:49.194 App[7034:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFSet opacity]: unrecognized selector sent to instance 0x98e8660'
*** First throw call stack:
(0x119012 0x1f44e7e 0x1a44bd 0x108bbc 0x10894e 0x39e458 0x3c7d7d 0x3b2574 0x3b6a97 0x61f85a 0x61e99b 0x6200df 0x622d2d 0x622cac 0x61aa28 0x387972 0x387e53 0x365d4a 0x357698 0x30b1df9 0x30b1ad0 0x8ebf5 0x8e962 0xbfbb6 0xbef44 0xbee1b 0x30b07e3 0x30b0668 0x354ffc 0x2308c 0x2301d)
libc++abi.dylib: terminate called throwing an exception
Run Code Online (Sandbox Code Playgroud)
发生这种情况的视图基本上只是纯 HTML 和 CSS AngularJS 视图,其中一些数据使用 $scope 在控制器中设置。
有人见过这样的事情吗?Alpha、不透明度或 CSS 等已知问题是否存在?
在 iOS 6.1 上,两个视图之一正在工作,而在 iOS 7 上,两个视图会使应用程序崩溃。
来电:
UIView (Rendering) alpha)
UIScrollView _adjustScrollerInicatorsShowingThem:
UIScrollView _updatePanGesture
UIScrollView handlePan
UIGestureRecognizerSendActions
UIGestureRecognizer _updateGestureWithEvent:buttonEvent
UIGestureRecognizer _delayedUpdateGesture
.....
....
UIWindows sendEvent
UIApplicationEvenQueue
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM ....
...
....
......
........
GSEventRun
UIApplicationMain
main
Run Code Online (Sandbox Code Playgroud)
令人难以置信但却是事实,这是一个 CSS 问题。即使使用 iOS7,CSS 计算和解析也是有问题的,并且会导致浏览器和 WebView 崩溃 - 在所有 Android 手机上,这都工作得很好!:
HTML:
<div class="financial profileBlock">
Run Code Online (Sandbox Code Playgroud)
我们有以下 CSS:
#profileContainer .profileBlock table td {
border-bottom: 1px solid #d2d2d2;
}
#profileContainer .profileBlock table {
font-size: 1.1em;
border-top: 1px solid #d2d2d2;
margin-top: 10px;
}
Run Code Online (Sandbox Code Playgroud)
当单击/触摸/选项卡或尝试滚动时,这会导致 WebView 崩溃,从而导致整个混合应用程序崩溃。当使用 URL 访问 HTML 页面时,它还会导致 Safari 崩溃!
当我们将 CSS 重构为以下内容时,它就起作用了:
#profileContainer table.profileTable {
margin-top: 10px;
font-size: 0.9em;
td {
border-bottom: 1px solid #d2d2d2;
&:first-child {
border-top: 1px solid #d2d2d2;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |