LSApplicationQueriesSchemes Xcode 13 或 iOS15 BUG?

Posted

技术标签:

【中文标题】LSApplicationQueriesSchemes Xcode 13 或 iOS15 BUG?【英文标题】:LSApplicationQueriesSchemes Xcode 13 or iOS15 BUG? 【发布时间】:2021-09-29 05:34:54 【问题描述】:

我在项目Info.plist中使用“LSApplicationQueriesSchemes”,其中包含219个url方案。

我使用此文件中包含的 urlscheme 来确定我们用户的手机上是否安装了应用程序,这在 ios15 之前运行良好,但最近我在使用 xcode13 提交应用程序更新后遇到问题,当时我去检查是否应用安装后提示“-canOpenURL:failed for URL:”xxxx://” - 错误:“此应用不允许查询方案xxxx”。

我已经在 LSApplicationQueriesSchemes 中添加了 xxxx,但是我仍然得到这个错误,我测试了更改位置或减少 LSApplicationQueriesSchemes 中包含的 urlscheme 的数量,发现前 35 个左右的 LSApplicationQueriesSchemes 工作正常,并且之后的第一个 35 左右会提示此错误。不知道这是xcode13的bug还是ios15的问题,还是不对。

此问题仅出现在升级 iOS15 的手机上

【问题讨论】:

我发现 xcode13 在我的 iPhone 上运行时出现了这个问题,但在 xcode12 上没有,所以我现在回到 xcode12 来打包和上传 IPA。 我发现 xcode13 在我的 iPhone 上运行时出现了这个问题,但在 xcode12 上没有,所以我现在回到 xcode12 来打包和上传 IPA。 【参考方案1】:

在 iOS 15 或之后链接的应用在 LSApplicationQueriesSchemes 键中最多只能包含 50 个条目。

https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl?language=objc

【讨论】:

Thx) 我怎么能错过这个变化?俄罗斯国家支付卡系统稍微滥用了这个功能。我们必须在这个数组中包含一千多个条目才能检查可打开的银行应用程序。现在这个功能被破坏了(

以上是关于LSApplicationQueriesSchemes Xcode 13 或 iOS15 BUG?的主要内容,如果未能解决你的问题,请参考以下文章