我正在尝试使用我的代码检查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://"]];
我想知道为什么canOpenURL
在Spotify
URL方案下对Apple Music
不起作用,而对music://
不起作用。
答案 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 。