打包适用于 iOS 的 Web 应用程序 - 全屏 iframe


Package web app for iOS - full screen iframe?

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

有没有一个简单的方法来实现这一点?

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

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

如果您不想浏览应用商店,您仍然可以设置您的应用程序,以便您可以将其保存到您的设备,它将像本机一样运行。下面是一个示例的链接:

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

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

具有UIWebView的本机iOS应用程序

  • 在应用商店曝光
  • 如果需要,可以将您的应用程序与本机 iOS UI 元素相结合
  • 使用加速计,蓝牙,游戏中心和其他本机应用程序功能的可能性

"离线"HTML5应用程序

  • 无需会员资格或 Xcode
  • 完全控制您的应用(无监管)
  • 易于适应其他设备的工作
  • 如果您出售商品,则不必支付 30% 的折扣

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

使用 UIWebView 设置本机 iOS 应用的说明

  1. 打开 Xcode 并选择"新建>项目>文件...
  2. 输入产品名称并选择设备系列。选中"使用自动引用计数"并取消选中"使用情节提要"和"包括单元测试"
  3. 选择放置项目的位置
  4. 打开ViewController.m,在viewDidLoad[super viewDidLoad]的正下方插入下面的代码。
  5. 将网址"http://www.google.com"更改为 Web 应用的地址。
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];

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

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

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

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