IBM Worklight 6.0.0-对iOS使用WebViewOverlay示例代码无效

IBM Worklight 6.0.0-对iOS使用WebViewOverlay示例代码无效,ios,xcode,ibm-mobilefirst,Ios,Xcode,Ibm Mobilefirst,使用Worklight v6.0.0代码示例/教程“在混合应用程序中集成服务器生成的页面”()可以集成web内容。代码示例在iOS 7/XCode 5中不起作用。当显示web视图覆盖页时,将显示白色空白页 然而,安卓版本运行良好 如何让WebViewOverlay在iOS 7/XCode 5上工作?我正在使用Worklight Studio 6.0.0.20130926-1933、XCode 5.0.2和iOS 7.0.3模拟器。当我第一次导入项目时,它在启动时崩溃了。这是关于iOS7的,因为它

使用Worklight v6.0.0代码示例/教程“在混合应用程序中集成服务器生成的页面”()可以集成web内容。代码示例在iOS 7/XCode 5中不起作用。当显示web视图覆盖页时,将显示白色空白页

然而,安卓版本运行良好


如何让WebViewOverlay在iOS 7/XCode 5上工作?

我正在使用Worklight Studio 6.0.0.20130926-1933、XCode 5.0.2和iOS 7.0.3模拟器。当我第一次导入项目时,它在启动时崩溃了。这是关于iOS7的,因为它在iOS6模拟器上工作

我删除了iPhone环境并重新创建了它(包括iPhone环境的css和js文件夹中的定制,并在Xcode中安装了WebViewOverlay插件),崩溃得到了修复。此时,应用程序运行良好,WebViewOverlay打开并填充了内容。但它不会关闭。我必须修改WebViewOverlayPlugin.m中的close()方法

- (void)close:(CDVInvokedUrlCommand*)command{
    NSLog(@"WebViewOverlayPlugin :: close");

    WLCordovaAppDelegate *appDelegate = (WLCordovaAppDelegate*) [[UIApplication sharedApplication] delegate];

    if ([[[appDelegate window] subviews] count] > 1) {
        UIView *appView = [[[appDelegate window] subviews] objectAtIndex:1];

        for (UIView *view in [appView subviews]){

            if (view.tag==12345) {

                [view removeFromSuperview];
            }}
    }
}

自编写示例以来,似乎发生了一些更改,objectAtIndex:0需要更改为:objectAtIndex:1。真正了解objective c的人可能会在我添加的条件下做得更好(并解释为什么会发生变化),但随着iPhone环境的重新创建,以及上述close()的实现,这一切似乎都可以在iOS 7上运行。

谢谢,大卫。已尝试[[[appDelegate window]子视图]对象索引:1];它给了我数组超出索引的错误。将objectAtIndex设置为0。没有得到错误,但是空白的白页。最后在挖完Cordova iOS代码几个小时后。用于解决此问题:UIView*appView=self.viewController.view。现在它的工作原理与iOS 5/6和iOS 7之前一样。如果您将数组从索引中取出,那么您就错过了我添加的条件,但无论如何,您的解决方案看起来更好。让我困惑的是,为什么close()中的一个问题导致web视图无法正确加载。当我这样做时,它加载良好,但无法正常关闭。发现WLCordovaAppDelegate存在一些问题。它不像以前那样工作,让viewController共享添加的相同WevView。这就是Codova管理Web视图的方法。您可以隐藏/显示/添加动画。。。