检测 iPhone 上的应用安装失败
Detecting an app installation on iPhone is failing
我正在尝试使用我的代码检查 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
而它适用于 Apple Music
和 music://
URL 方案。
if ([[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"spotify://"]])
{
NSLog(@"App Found");
}
else
{
NSLog(@"App Not Found");
}
如果您的应用是在 iOS 9.0 或之后链接的,您必须声明要传递给此方法的 URL 方案。通过将 LSApplicationQueriesSchemes 键添加到应用程序的 Info.plist 文件来执行此操作。如果您为未使用该键声明的方案调用此方法,则此方法始终 returns false,无论是否安装了适当的应用程序。要了解有关密钥的更多信息,请参阅 LSApplicationQueriesSchemes。
我正在尝试使用我的代码检查 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
而它适用于 Apple Music
和 music://
URL 方案。
if ([[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"spotify://"]])
{
NSLog(@"App Found");
}
else
{
NSLog(@"App Not Found");
}
如果您的应用是在 iOS 9.0 或之后链接的,您必须声明要传递给此方法的 URL 方案。通过将 LSApplicationQueriesSchemes 键添加到应用程序的 Info.plist 文件来执行此操作。如果您为未使用该键声明的方案调用此方法,则此方法始终 returns false,无论是否安装了适当的应用程序。要了解有关密钥的更多信息,请参阅 LSApplicationQueriesSchemes。