【问题标题】:iOS- UIWebView and downloaded codeiOS- UIWebView 和下载的代码
【发布时间】:2012-02-08 00:09:34
【问题描述】:

我知道 Apple 的应用条款不允许下载和执行代码,但在 UIWebView 中运行的 JavaScript 似乎有一个例外:

3.3.2 应用程序不得下载或安装可执行代码。如果所有脚本、代码和解释器都打包在应用程序中并且未下载,则解释的代码只能在应用程序中使用。上述情况的唯一例外是由 Apple 内置 WebKit 框架下载和运行的脚本和代码。

这是否意味着我可以下载和执行解释代码,只要它在 UIWebView 中运行?

我正在开发一款 MMO,我想为此添加模组。它将拥有适用于 iOS、Android、浏览器的客户端,以及最终的本地桌面客户端。我会完全在浏览器中完成,但 iOS 不支持 WebGL。

有没有办法在不违反许可协议的情况下做到这一点?我真的很想在 iPad 上看到一个功能齐全的版本,如果可能的话,我愿意将这些模组放在应用商店中,以便对其进行审查。

这些模组非常简单,但比数据文件所能提供的要复杂。

【问题讨论】:

    标签: ios plugins


    【解决方案1】:

    是的。您只需下载 Javascript 并使用 UIWebView 的 loadHTMLString:baseURL: 方法将其放入脚本标签中,然后使用 stringByEvaulatingJavaScriptFromString: 方法获取各种函数调用的结果。您必须定义一个 API,您的游戏将在您的插件中查询特定功能,但这应该很容易。

    事实上,您甚至可能不需要将 UIWebView 放在任何地方的视图中 - 您可以简单地实例化 UIWebView*、加载 javascript 并进行调用。

    【讨论】:

    • 太棒了!这需要一些聪明的工程,但至少这是可能的。谢谢!
    • 令人印象深刻的部分将是当您了解如何在游戏之上使其快速运行时。
    • 是的,伙计。我想这是游戏开发者的圣杯。如果我得到了一些工作,我一定会开源一个如何有效地做到这一点的例子(也许是一个框架?)。
    【解决方案2】:

    您是正确的,下载和解释 Javascript 是可以接受的。

    Facebook 和 Gmail 应用程序以及无数其他应用程序都是这样做的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      相关资源
      最近更新 更多