【问题标题】:PhoneGap in regards to App Store approvalPhoneGap 关于 App Store 的批准
【发布时间】:2012-02-09 17:42:48
【问题描述】:

我读到 PhoneGap 已被 Apple 批准为构建原生应用程序的框架,但我不清楚这不构成“作为应用程序包装的网站”,这是 Apple 特别不喜欢的,因为根据他们的 App Store 指南。我假设这是因为 JS 包含在应用程序中,而不是在远程服务器上运行?

对此问题的任何澄清将不胜感激。

【问题讨论】:

    标签: ios cordova store


    【解决方案1】:

    但我不清楚这不构成“网站包装 作为一个应用程序,”苹果特别不喜欢的东西,根据 他们的 App Store 指南。

    Apple 的意思是应用程序仅显示加载远程网站的 UIWebView,因此它的行为基本上与 Mobile Safari 类似,只是没有控件。当设备未连接到互联网时,他们也不希望应用程序至少显示一个 UI,例如在 Facebook 应用程序中,您仍然可以阅读已下载的状态更新、查看照片等。这就是“我只是包装一个遥控器UIWebView 内的网站“-App 不能这样做。

    PhoneGap 应用程序在设备上的应用程序包中拥有他们需要的所有资源(HTML、CSS、JavaScript),因此使用这样的应用程序将不依赖于网络可用性,并且至少可以显示一个告诉您连接的 UI到 Internet 以使用该应用程序,或者他们可以显示已加载的内容(如 Facebook、Twitter 等)。

    【讨论】:

    • 谢谢。因此,据我了解,拥有一个包含捆绑包中所有 UI 的 PhoneGap 应用程序,从服务器(即 JSON)请求数据并将其解析以显示给用户并不构成 Apple 所谓的“网站包装为应用程序” 。”我这样想对吗?
    • 是的,没错。但也不要忘记向用户显示一条消息,上面写着“嘿,我需要互联网,但你没有连接。请连接到互联网以使用该应用程序”。这就是我们在商店中已经存在将近 2 年的实时应用程序中所做的事情。只要确保您的应用在没有互联网连接时不会崩溃和崩溃 :-)
    【解决方案2】:

    我认为二进制文件的签名告诉 Apple 是哪个框架构建了应用程序,并且由于所有支持文件(包括 js)都包含在项目中,因此在二进制文件中,它是一个独立的应用程序。话虽如此,我仍然认为以本地方式做事是最好的方法。我对 javascript 非常满意,并开始认为 Phonegap 是适合我的方式。我用它做了几个项目,然后决定冒险学习Objective-C。这对我来说效果好多了。不依赖第三方框架,我希望我是这样开始的。

    有时简单的出路最终只会伤害到你。

    【讨论】:

    • 另外,您永远无法判断 Apple 何时会更改规则并决定不允许使用 Phonegap。
    • 感谢您的快速回复。我会用 Obj-C 编写它,但项目的时间框架不允许我有这个特权——JavaScript 对我来说会快得多。我对其进行了更多研究,我认为如果我将应用程序中的所有“控制器”都保留在从服务器加载的数据中,我认为 Apple 可以接受。毕竟,他们确实说 JavaScript 是可用于构建应用程序的语言之一,与 C、C++ 和 Objective-C 一样。
    • 我认为你仍然可以从服务器加载数据,只要你正常处理没有可用的数据。换句话说,当互联网连接不可用时,应用程序应该仍然可以工作并且不会崩溃。
    • 感谢您的帮助。我将构建应用程序,以便 UI 位于应用程序包中的设备上,该应用程序包将从服务器加载 JSON 数据。
    猜你喜欢
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 2023-04-03
    • 2013-05-10
    • 2017-10-26
    • 1970-01-01
    • 2017-06-26
    相关资源
    最近更新 更多