在应用程序中加载非http URL请求 - 应用程序商店可以接受可以接受的工作吗?

问题描述:

我们知道苹果从今年开始实施了ATS。但是,当我打开Yelp这样的应用程序时,我可以在应用程序中打开几乎所有普通的http URL;例如开设一家餐厅网站。但是,我的印象是这是不允许的。在应用程序中加载非http URL请求 - 应用程序商店可以接受可以接受的工作吗?

我想问一下,特别是在看过以前的SO问题(虽然很多是2015年以后),作为小开发者,我们能够自己实现这个功能吗?我们是否有权在应用商店审核流程中允许info.plist中允许任意加载或NSTemporaryExceptionAllowsInsecureHTTPLoads?

如果必须的话可以投票,但我正在寻找有经验的社区的答案。

推荐的方法是在您的应用程序中加载SFSafariViewController中的任意Web内容。在SFSafariViewController中加载的内容与在Safari中运行的内容基本相同,并且不要求所有网站都符合Apple的ATS要求。

或者,如果您需要使用较旧的组件来加载网页内容(例如WKWebView),则可以使用一个NSAllowsArbitraryLoadsInWebContent例外,但这很具有挑战性,因为该例外仅在iOS 10+中受支持,所以如果你在你的应用中支持iOS 9,你必须做一个奇怪的NSAllowsArbitraryLoadsInWebContentNSAllowsArbitraryLoads例外组合。由于使用NSAllowsArbitraryLoads,这会导致您向Apple提供理由。此时,我会推荐SFSafariViewController路线。