4

我们已经构建了一个在线网络应用程序,现在想将它打包用于 ipad 和 iPhone。理想情况下,我们只需要一个像 iframe 这样的全屏浏览器窗口,它可以从 Web 加载完整的应用程序。显然我们可以在浏览器中执行此操作,但我们需要在桌面上拥有自己的启动图标以及删除浏览器地址栏。我听说过 phoneGap 和 Appcelerator,但我不确定是否可以使用这些平台进行此设置?

有没有一种简单的方法可以实现这一目标?

我需要注意 iOS 上的任何问题或安全问题吗?

4

2 回答 2

10

很多网络应用程序都在应用商店。他们只是将 UIWebView 放在一个空的应用程序中并将其指向网络应用程序。一切都将像在 Safari 中一样运行,但不会有工具栏等。这需要您拥有 Xcode 和开发人员计划的成员资格。

如果你不想通过应用商店,你仍然可以设置你的应用,这样你就可以将它保存到你的设备上,它就会像原生一样运行。这是一个示例的链接:

http://sixrevisions.com/web-development/html5-iphone-app/

所以你必须决定哪个最适合你。

带有 UIWebView 的原生 iOS 应用

  • 在应用商店曝光
  • 如果您愿意,可以将您的应用与原生 iOS UI 元素结合起来
  • 可以使用加速度计、蓝牙、游戏中心和其他原生应用程序功能

“离线”HTML5 应用程序

  • 无需会员资格或 Xcode
  • 完全控制您的应用程序(无管理)
  • 轻松适应在其他设备上工作
  • 如果你卖东西,你不必支付 30% 的折扣

在许多情况下,一旦应用在设备上,每个选项的用户体验都是相同的。权衡选项并找出最适合您的选项。

使用 UIWebView 设置原生 iOS 应用程序的说明

  1. 打开 Xcode 并选择 File > New > Project...
  2. 输入产品名称并选择设备系列。选中“使用自动引用计数”并取消选中“使用情节提要”和“包含单元测试”
  3. 选择项目的放置位置
  4. 打开 ViewController.m 并将下面的代码插入到viewDidLoad该行的正下方[super viewDidLoad]
  5. 将网址“http://www.google.com”更改为您的网络应用程序的地址。
UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.frame];
NSString *urlAddress = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
[self.view addSubview:webView];
于 2012-05-31T17:26:35.220 回答
2

您可以要求用户将网站添加到他们的主屏幕,使用类似这样的东西。

如果他们这样做了,您可以使用 <meta name="apple-mobile-web-app-capable" content="yes" />它来删除标准的 Safari UI,它不会显示标准的 Safari UI。

要指定主屏幕的图标,请使用<link rel="apple-touch-icon" href="/custom_icon.png"/>

您可以在此处查找有关 iOS 上的 Web 应用程序的更多信息,包括如何设置多个图标大小以及如何设置启动图像。

于 2012-05-31T17:28:51.300 回答