2012-01-13 59 views
8

我读了PhoneGap的是得到苹果的批准作为构建本地应用程序的框架,但我不如何,这并不构成明显的“网站包装成一个应用程序,”一些苹果特别是不喜欢,根据他们的App Store指南。我假设这是因为JS包含在应用程序中,而不是在远程服务器上运行?的PhoneGap在关于App Store的审批

任何澄清这个问题将是非常赞赏。

回答

18

,但我不如何,这并不构成明显的“网站包裹 作为一个应用程序”的东西,苹果明确不喜欢,按照他们的 App Store的准则。

通过这个Apple意味着应用程序只显示加载远程网站的UIWebView,所以它基本上就像Mobile Safari一样,只是没有控件。当设备没有连接到互联网时,他们也不会显示至少一个用户界面,就像在Facebook应用程序中,您仍然可以阅读已下载的状态更新,查看照片等。这就是“我只是将遥控器UIWebView中的网站“-App无法做到。

PhoneGap应用程序拥有应用程序软件包中设备上所需的所有资源(HTML,CSS,JavaScript),因此使用此类应用程序不会取决于网络可用性,并且至少可以显示一个UI,告诉您连接到互联网以使用应用程序,或者他们可以显示已经加载的内容(如Facebook,Twitter等)。

+1

谢谢。因此,据我了解,拥有一个包含包中所有UI的PhoneGap应用程序,从服务器(即JSON)请求数据并解析它以向用户显示并不构成Apple称之为“作为应用程序打包的网站” “。我是否认为这是正确的? – leomancini 2012-01-13 17:09:18

+7

是的,没错。但也永远不要忘记向用户显示一条消息:“嘿,我需要互联网,但你没有连接,请连接到互联网使用应用程序”。这就是我们现在正在商店中使用近2年的现场应用程序。只要确保您的应用程序不会在没有互联网连接时分解并崩溃:-) – 2012-01-13 17:36:31

+0

太好了 - 谢谢您的澄清。 – leomancini 2012-01-13 19:00:30

0

我认为的二进制文件的签名告诉苹果什么框架构建的应用程序,因为所有的支持文件(包括JS)都包含在项目,因此在二进制,它是一个独立的应用程序。话虽如此,我仍然认为Natively做事是最好的选择。我非常喜欢javascript,并开始认为Phonegap是我的出路。我做了几个项目,然后决定冒险尝试Objective-C。这对我来说非常好。不依赖于第三方框架,我希望我已经开始这样做。

有时候图省事只是伤害雅到底IMO。

+0

此外,你永远不能告诉苹果什么时候会改变规则,并决定不允许Phonegap。 – 2012-01-13 15:51:20

+0

感谢您的快速回复。我会用Obj-C编写它,但是项目的时间不允许我这个特权 - 对我来说JavaScript会快得多。我研究了一下,我想如果我将所有的“控制器”都放在应用程序中,并且从服务器上加载数据,我认为苹果公司就可以。毕竟,他们确实说过,JavaScript是可以用来构建应用程序的语言之一,还有C,C++和Objective-C。 – leomancini 2012-01-13 15:55:31

+0

我认为你仍然可以从服务器加载数据,只要你没有数据可用的正常处理。换句话说,当Internet连接不可用时,应用程序仍然可以正常工作并且不会崩溃。 – 2012-01-13 16:24:16