我可以只将 WKWebView 用于应用程序构建吗?

Can I use WKWebView only for an app build?

我正在听取一些建议。

我使用 PHP(HTML、CSS 等)创建了一个网络应用程序。编码需要在服务器端进行以保护源代码。作为一名 Web 开发人员,这就是我所习惯的。

Web 应用程序很受欢迎,我想在 App Store 中销售。 WKWebView 似乎是一个快速的胜利,并勾选了许多框,例如保持源代码安全/在服务器上。

两个问题:

  1. 仅使用 WKWebView 的完整应用是否可以/Apple 介意吗?
  2. 如果没有 signal/service 添加后备,最好的方法是什么?

任何其他 ideas/thoughts 都很好,可以帮助我指明正确的方向。

截至撰写本文时,Apple 的审核指南如下:

Your app should include features, content, and UI that elevate it beyond a repackaged website.

https://developer.apple.com/app-store/review/guidelines/#minimum-functionality 的第 4.2 节)

你的问题的第 2 部分要广泛得多,但在这一点上似乎与第 1 点无关。

参见 Apple 的 App Store Review Guidelines,尤其是“4.7 HTML5 游戏、机器人等”部分。这实际上取决于应用程序的类型及其功能。

大约 2 年前我发布了一个应用程序,它基本上只是一个围绕 WKWebView 的 shell,它只提供本机设置屏幕并获取用户位置和一些设备信息以进行分析。 Apple 要求直接访问 WKWebView 的 URL 以供审核之用,并在该问题得到解决之前暂停了该应用程序的发布。

关于你的第二个问题,如果你希望离线使用,你可以拥有 JS 的本地副本和 HTML5 以及你可以将 WKWebView 指向的其他所需资源。然而,听起来这会破坏您保持代码安全的目标。

最后,我建议您为本机 iOS 应用程序提供 REST 网络服务。如果您对某人以某种方式对客户端本机 iOS 应用程序进行逆向工程非常多疑,那么请将您想要的特定计算功能安全地保存在服务器上,并通过 REST API 轻松访问。一般来说,通过本地化,您可以为用户提供他们真正想要和期望的 UI,并且可以更好地管理何时去服务器获取您需要保留在服务器上的位。然后也很清楚哪些功能和行为也可以离线存在。