【问题标题】:Package web app for iOS - full screen iframe?为 iOS 打包 Web 应用程序 - 全屏 iframe?
【发布时间】:2012-06-05 23:18:40
【问题描述】:

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

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

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

【问题讨论】:

    标签: php ios ajax web-applications cordova


    【解决方案1】:

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

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

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

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

    带有 UIWebView 的原生 iOS 应用

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

    “离线”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];
    

    【讨论】:

    • 非常感谢。它最终需要在应用商店中,我们需要一个普通的安装程序,所以我猜 UIWebView 是要走的路。为此我需要了解 C 还是有一些我可以使用的框架?
    • 如果有的话,只要几行 Objective-C。如果我在其他任何地方找不到它们,我会输入这些步骤并将它们发布在这里。请稍等。
    • 听起来很有希望 - 谢谢 woz。是否可以在没有应用商店的情况下分发 UIWebView 或“离线”版本?换句话说,我可以从网络上下载(和自动安装)它吗?
    • 您可以使用离线 HTML5 方法从 Web 安装应用程序。它们直接加载到您的设备上,一旦安装,您就无法区分它与原生应用程序之间的区别。如果您更新您的 HTML5 应用程序,它是在线的,因此该应用程序将自动更新。它与在设备上使用 UIWebView 相同。两者都只会获取您的网络服务器上的内容,因此更新是即时的。
    • 您可以使用相同的网络应用程序,并同时从 Safari 和应用商店安装它。
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 酷,很有意义 - 谢谢。有没有办法将其打包为应用商店的安装程序或其他方式?
    • 在 App Store 中拥有它的唯一方法是获得开发者许可证(99 美元)并将其提交到 App Store。如果你想这样做,那将非常简单——你只需要使用一个只显示网站的 UIWebView。只需非常有限的 Objective-C 知识就可以完成。
    • 这个教程看起来不错:conecode.com/news/2011/05/…
    • 是的,但如果您的应用程序包含的只是网站的 UIWebView,Apple 将拒绝您的应用程序。一个应用需要有比这更多的内容。
    • 他们会吗?你的来源是什么?
    猜你喜欢
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 2012-04-14
    • 2012-12-07
    • 2011-07-02
    • 2013-11-22
    • 2014-03-28
    相关资源
    最近更新 更多