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)