iPhone:本地应用程序与本地存储的Webapp?

时间:2009-12-18 05:30:17

标签: iphone web-applications

是否可以编写一个webapp,然后将其嵌入到本机应用程序中,以便可以在没有数据的情况下启动并通过应用程序商店销售?

Pre可以轻松引用本地文件结构中的文件,因此构建Web应用程序(HTML,CSS和Javascript)并将其嵌入到本机应用程序中非常容易。

是否可以使用相同的纯HTML,CSS和Javascript(没有Mojo / Webos特定代码)并以相同的方式将其嵌入到本机iPhone应用程序中?这将使用户看起来好像主菜单中的图标启动了webapp,但是可以在没有任何数据的情况下访问应用程序,并且可以通过应用商店销售。

谢谢, 〜Ĵ

7 个答案:

答案 0 :(得分:3)

在我的应用程序中,我有一个完整的基于HTML的手册,我使用UIWebView进行显示。 HTML,CSS和图像都存储在我的应用程序包中的帮助目录中。我只需使用以下代码加载第一页:

NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Help"];                   
NSURL *helpURL = [NSURL fileURLWithPath:[path stringByAppendingPathComponent:@"helpintroduction.html"]];

NSURLRequest *URLReq = [NSURLRequest requestWithURL:helpURL];
[webHelpView loadRequest:URLReq];

并且所有内容都加载并显示,就好像它位于远程服务器上一样。

要保留HTML等文件的完整目录结构,只需将这些文件添加到Xcode项目中,拖动目录即可,并添加新的Copy Files构建阶段。将目标Resources和路径设置为您要用作Web文件基础的路径(上例中的帮助)。最后,将您添加到项目中的所有HTML等资源拖到此Copy Files构建阶段,以便它们最终与您的应用程序捆绑在一起。

我认为没有理由说这不适用于更复杂的Web应用程序,而且我没有看到Apple针对在自己的应用程序中执行此操作的人员采取任何行动。

答案 1 :(得分:0)

我不明白为什么不这样做,只需给UIWebView一个本地存储包的baseUrl。

答案 2 :(得分:0)

查看PhoneGap(http://phonegap.com/

我没有使用它,但它可能是你正在尝试做的一个很好的解决方案。

答案 3 :(得分:0)

是的,这是完全可行的。您只需要在应用程序包中构建HTML文件的绝对路径,使用“file:///”作为协议,并将UIWebView的URL指向它。您可以使用iPhone OS模拟器进行快速而肮脏的测试,并在Safari.app上编写类似“file:///foo/bar.html”的内容,前提是HTML存在,它将加载正常。

答案 4 :(得分:0)

问题在于包装它。从我所知道的(我可能完全错误),apple只会将您的所有文件转储到一个资源文件夹中,而不管项目中的目录结构如何。因此,如果您创建一个引用images / logo.png和javascript / script.js的网页,那么这些文件将突然位于/而不是各自的文件夹中。鉴于此,从一开始就可以创建一个结构完全扁平的Web应用程序。

答案 5 :(得分:0)

没有技术原因我知道为什么这应该是问题。

然而,苹果公司总是有可能拒绝该应用程序做这样的事情 - 他们当然不会害怕因为之前没有“行为正常”拒绝应用程序,而且网络应用程序有某些特殊性使得它们不具备感觉就像原生应用一样。

这样的拒绝可能会通过重新提交来解决,因为这种事情肯定没有标准,但它肯定是值得注意的。

答案 6 :(得分:0)

如果您不是编码员并且只对iOS感兴趣,可以按照以下步骤操作:

  • 下载xCode
  • https://github.com/nomtek/iOSWebViewApp
  • 下载简单的网络视图应用
  • 在xCode
  • 中打开简单的网络视图应用
  • 将HTML添加到项目文件结构
  • 运行你的应用程序并瞧瞧:)。

如果您不需要访问任何特定于手机的功能,只需标准的Web视图,这种方法就很好。加载时间很短,因为这种方法不会加载任何额外的库。