我遇到了https://issues.apache.org/jira/browse/CB-7679所述的问题。
我有一个PhoneGap应用程序,可以打开一个<input type="file" accept="image/*">
的InAppBrowser窗口。只要我点击&#34;拍照&#34;或&#34;选择现有&#34;窗口关闭,我收到以下错误信息:
Warning: Attempt to present
<UIImagePickerController: 0x137001c00> on <CDVInAppBrowserNavigationController: 0x136d2ed20>
whose view is not in the window hierarchy!
相同的代码适用于iOS 7.我使用的版本如下:
他们处理https://github.com/apache/cordova-plugin-inappbrowser/blob/master/src/ios/CDVInAppBrowser.m中的视图/控制器/某些东西的方式有什么用吗? 查看插件代码,我可以尝试一些解决方法吗?
我并不是真的了解Objective-C的方法,但是我已经尝试了类似非PhoneGap相关iOS问题的一些解决方案而没有任何运气。
答案 0 :(得分:1)
经过一些试验和错误并阅读类似的问题后,我终于在https://stackoverflow.com/a/26238123/467650为我找到了解决方案。
诀窍是覆盖CDVInAppBrowserNavigationController
&#39; dismissViewControllerAnimated
:
-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
{
if ( self.presentedViewController)
{
[super dismissViewControllerAnimated:flag completion:completion];
}
}
Apache Cordova的问题跟踪器问题:https://issues.apache.org/jira/browse/CB-7679
答案 1 :(得分:0)
此修复程序适用于iOS 8.1(12B411)的iPhone,但不适用于iOS 8.1(12B410)的iPad mini视网膜 iPad从一开始就显示出不同的行为,整个应用程序崩溃而不仅仅是InAppBrowser窗口意外关闭