【问题标题】:Whitelisting URL Schemes workaround将 URL 方案列入白名单的解决方法
【发布时间】:2017-02-15 13:54:51
【问题描述】:

iOS 9 带来了新的安全和隐私措施。其中一项措施是防止滥用 canOpenURL 来发现用户已安装的应用程序。

Apple 限制了对 URL 方案的查询。如果您针对 iOS 9+ SDK 构建和链接,您需要将应用程序将查询的方案列入白名单

我有一个案例,我将从我的应用程序打开的应用程序列表在开发时是未知的。

你觉得有什么解决方法吗?

【问题讨论】:

  • 白名单在info.plist 中设置,它是主包,在运行时无法编辑。这是因为主包是只读的。您必须在提交应用之前提供白名单。
  • 是的,同时,也有一些应用程序(例如 Launch Center Pro)在开发时调用其他应用程序而不知道它们是否找到了解决方案。我将与 Enterprise license 一起使用它(在 Appstore 分发之外)
  • 那你应该问问他们。因为使用默认 SDK 是不可能的。您也许可以使用一些私有 API,但我无法帮助您。

标签: ios security url-scheme privacy info.plist


【解决方案1】:

根据Article,您无需在 Info.plist 中列出方案即可使用 openURL 打开它。此机制仅适用于 canOpenURL,不适用于 openURL。

【讨论】:

  • 适用于 ForMedia 和 InWebContent
  • 通过在应用的 Info.plist 文件中配置此键的值,您可以通过多种方式自定义网络连接的安全性。您可以: 允许与特定服务器的不安全通信 允许 Web 视图或媒体的不安全加载,同时在应用程序的其他位置保持 ATS 保护 启用新的安全功能,例如证书透明度developer.apple.com/library/prerelease/content/documentation/…
  • @VityaShurapov 我已经更新了答案,如果有帮助请告诉我。
  • 链接不起作用我需要这个 canOpenURL 方法:)
  • @VityaShurapov 是的,有一个错误。我已经更新了链接。谢谢。
猜你喜欢
  • 2011-06-30
  • 2020-02-23
  • 2016-01-17
  • 1970-01-01
  • 2016-03-12
  • 1970-01-01
  • 2011-07-17
  • 2018-11-16
  • 2013-03-05
相关资源
最近更新 更多