首页 > 解决方案 > 有没有办法只为 Appstore 审阅者打开 url?

问题描述

我们正在开发一个网站。
例如,此 url 是“ http://dev.abcd.com/ ”。
完成后,网址必须更改为“ http://www.abcd.com/

该网站符合网络和应用程序的条件。(使用响应式 UI)
所以我们也在制作基于 WKWebView 的 iOS 应用程序。
不仅用于捆绑网站,还包括基于原生的体验。

现在我们正在使用专用网络或虚拟专用网络进行开发。
在启动此服务之前,iOS 应用必须经过审核,因此我们必须将我们的私有 url 开放给 appstore 审核者。
但我们希望在 iOS 审核完成后启动该服务,以便用户可以同时访问 Web 和应用程序。

我们如何在服务启动之前为 Apple iOS 审阅者提供开放 url?

在这种情况下,您通常如何处理这种情况?
我们可以给他们 VPN 信息吗?

标签: iosprivatevpnenvironmentopenurl

解决方案


如果可能的话,我会尽量避免这样做。请注意,Apple 可能会拒绝您的评论,但如果他们不知道...

我们在某些应用程序中使用的是一种配置文件。我们有它的本地(默认)版本,但另外有一个从我们的服务器下载的文件,它将定义诸如使用哪些 URL 之类的东西。这产生的最大问题是您需要打开任意加载并允许您的应用随时访问任何 URL。这为可能的攻击者提供了一个很好的机会,可以通过破解配置文件使应用程序执行几乎所有操作。否则,这是一个非常简单的过程:当应用程序启动配置文件的请求服务器时。如果成功将其保存到本地库并继续。如果失败,请检查本地库以获取最新版本的配置并使用该配置。如果本地库中没有文件(从未从服务器获得配置),则使用资源中的文件(默认)。

我更喜欢的另一种方法是在服务器端管理重定向。这样,您可以按原样保留 URL,但在服务器端启用重定向到您的开发服务器。我不确定这可能会在后端出现多少问题。

另一种方法是基于时间做事。如果您计划在将应用发布到应用商店之前对其进行审核,您可以根据当前时间(日期)使用 URL。假设您在 9 月初对您的应用进行了审核,但将在 10 月初发布。这样做的问题是您不能依赖设备时间。您需要使用一些端点来获取当前时间。我想这仍然比从后端获取任何 URL 更安全,但从任何其他角度来看,这与第一个解决方案几乎相同。

无论您使用哪种情况,都存在 URL 在运行时更改的潜在问题。或者应用程序在后台运行了很长时间并且 URL 发生了变化。通常有一些系统运行,比如有一些正在分页的模型或一个列表,其中一个项目会导致带有旧 URL 的详细信息……简而言之,你很可能仍然有一堆旧 URL,它们都需要被替换。最简单的解决方案是“意外”使应用程序崩溃。否则有相对简单的解决方案,比如重新创建整个视图控制器层次结构,但仍然需要一些工作。


推荐阅读