随着最近升级到iOS 10和Titanium SDK 5.5.1.GA,我的应用程序崩溃了 尝试从父视图中删除webview。 webview正确加载HTML,但在尝试返回时,应用程序失败。
代码:
var aItems = view.children; //<- fails on this line if parent view has a webview child
for( var i = aItems.length - 1; i >= 0; i-- ) {
aItems[ i ].backgroundImage = "";
aItems[ i ].image = "";
view.remove( aItems[ i ] );
aItems[ i ] = null;
}
错误:
error 10:37:52.693612 -0500 NSURLConnection finished with error - code -1001
default 10:37:52.851682 -0500 invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.
版本:
Operating System
Name = Mac OS X
Version = 10.12
Architecture = 64bit
# CPUs = 8
Memory = 8589934592
Node.js
Node.js Version = 5.11.1
npm Version = 3.8.6
Titanium CLI
CLI Version = 5.0.9
Titanium SDK
SDK Version = 5.5.1.GA
Target Platform = iphone
这仅在iOS上失败,而不是Android。
更新: 如果我没有为webview设置任何HTML,该应用程序工作正常。我远程获取html,然后在webview上设置它。
答案 0 :(得分:0)
您可以在以下之前使这些孩子归零:
for(var i in view.children) view.children[i] = null;
现在您有两种方法可以尝试:
1)使用&#34; removeAllChildren&#34;方法而不是做循环并删除?
view.removeAllChildren();
2)尝试在将其属性归零后将views属性设置为空数组:
view.children = [];
无论哪种方式,我认为这是一个平台错误,您应该创建一个JIRA Ticket