0

我正在构建一个使用 UNITY3D 和 phonegap 的 iPhone 应用程序。我使用了一个基本的 Unity3D iPhone xcode 项目,并将Gregg 的 Native UI 中的一些本机和 Java 代码添加到 Unity 项目中。然后,我将电话间隙中的文件(类文件和 www 文件夹等)添加到项目中。当前的结果使我能够成功地从统一转移到 phonegap。

我现在需要从 phonegap 移回 Unity,使用 childbrowser 从 phonegap 移回 XIB 应该相对容易,我可以在其中调用该Unitymessage函数。我的问题是我无法让 childbrowser 工作。我已经按照他们网站的指示安装了它(更改了 plist 键,将文件放在插件文件夹中,添加了指向索引的链接等),但 phonegap 和 childbrowser 之间似乎仍然没有联系。我创建了一个临时解决方案,只需在 phonegap webview xib 上添加一个按钮,允许我返回统一状态,但是当 phonegap 运行时,此解决方案始终在屏幕上,这不是预期的结果。有没有人有关于如何让 childbrowser 为这个项目工作的建议?

4

1 回答 1

1

我解决了我的问题。我决定不在我的项目中使用 Childbrowser,因为我无法让它工作。相反,我在我的视图控制器中为 html 页面设置了一个侦听器,其中一部分如下:

if(requestString != nil){
    if([requestString rangeOfString:@"#"].location != NSNotFound){
        NSArray* foo = [requestString componentsSeparatedByString: @"#"];
    int* number = 0;
    for (int i = 0, count = [foo count]; i < count; i = i + 1)
    {
        number+=1;
    }
    if (number == 2);
    NSString* day = [foo objectAtIndex: 1];
    NSString *cheater = @"cphotos";
        if([day isEqualToString:cheater]){
            NSLog(@"OpenUnity");

//Here it then calls the Unity Message command to go back to unity like is done in Gregg's Native UI to Unity project.

这被放置在: -(BOOL)webView:(UIWebView )webView2 shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType {

因此,当用户导航到“cphotos”(index.html#cphotos)页面时,它们将被转发到 unity。我还在该页面的 html 中包含了一个“window.location”,以将 html 重置回我的主页。我不是程序员,所以这可能不是最优雅的解决方案,但它确实允许我从统一转到 html (phonegap) 并返回到单个应用程序中。希望这可以帮助任何尝试做类似事情的人,如果有兴趣,我可以尝试分享更多过程。

于 2013-02-15T23:37:13.537 回答