在运行时更改 LSApplicationQueriesSchemes

Change LSApplicationQueriesSchemes at Runtime

一位朋友让我找到一种方法来更改 iOS 应用程序本身内的 plist 属性 LSApplicationQueriesSchemes 以在运行时添加新模式 url。该应用程序随企业帐户一起分发。我告诉他这对我来说是不可能的,但我找不到任何可以提供证据的东西。有人可以提供一些有用的信息(例如 link)来支持我的想法吗?

这不可能。这是 Apple 明确添加的一项措施,旨在防止开发人员滥用 canOpenURL 来查明用户安装了哪些应用程序。某些公司滥用这种方法——甚至动态更新他们的列表——来了解用户拥有和安装了哪些应用程序,因此 Apple 决定你的应用程序应该尝试打开它仅在开发时定义的其他应用程序。即使你确实找到了解决这个问题的方法,Apple 肯定会在下一个版本中修复它并从那时起破坏应用程序。此外,Info.plist 在您的 App Bundle 中,它是只读的。