在iPhone上检测到应用安装失败

时间:2018-06-22 17:18:21

标签: ios objective-c spotify

我正在尝试使用我的代码检查Spotify是否已安装在iPhone上以及我的设备上是否已经安装了Spotify。但是,它始终位于

下面的代码中的else块中
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"spotify://"]]) {
    //open spotify
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"spotify://"]];
}
else
{
    [SVProgressHUD showErrorWithStatus:@"Spotify was not installed"];
    [SVProgressHUD dismissWithDelay:1.00];
}

但是我可以使用以下代码成功打开Spotify:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"spotify://"]];

我想知道为什么canOpenURLSpotify URL方案下对Apple Music不起作用,而对music://不起作用。

1 个答案:

答案 0 :(得分:1)

  if ([[UIApplication sharedApplication] canOpenURL:
                 [NSURL URLWithString:@"spotify://"]])

            {
                NSLog(@"App Found");
            }
 else
            {
                NSLog(@"App Not Found");
            }

如果您的应用在iOS 9.0或更高版本上链接,则必须声明要传递给此方法的URL方案。通过将LSApplicationQueriesSchemes密钥添加到应用程序的Info.plist文件中来执行此操作。如果为未使用该键声明的方案调用此方法,则无论是否安装了适当的应用程序,此方法始终返回false。要了解有关该键的更多信息,请参见 LSApplicationQueriesSchemes