This app is not allowed to query for scheme

原因:从iOS 9 开始,涉及到平台客户端的跳转,系统会自动到 info.plist 下检查是否设置Scheme。如果没有做相应的配置,就无法跳转到相应的客户端。因此如果客户端集成有分享与授权,需要配置Scheme白名单(LSApplicationQueriesSchemes)。

解决方案:

  • 在 info.plist 增加 key:LSApplicationQueriesSchemes,类型为NSArray。
  • 添加需要支持的白名单,类型为String。
添加 LSApplicationQueriesSchemes

另外,如果应用使用了检测是否安装了某款app,我们会调用canOpenURL, 如果url不在白名单中,即使手机上有这款app,也会返回 NO。

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:customURL]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
}
特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!
技术狗 » This app is not allowed to query for scheme