ios - 检测 iPhone 上的应用程序安装失败

标签 ios objective-c spotify

<分区>

我正在尝试使用我的代码检查 iPhone 上是否安装了 Spotify 并且我的设备上是否已经安装了 Spotify。但是它总是在下面代码中的 else block 中

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 Musicmusic:// URL 方案。

最佳答案

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

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

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

关于ios - 检测 iPhone 上的应用程序安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50992813/

上一篇:ios - iOS 开发证书到期对分发配置文件有什么影响?

下一篇:ios - 使用 anchor 以编程方式设置 UITableViewCell 的布局

相关文章:

objective-c - NSWorkspace共享工作空间运行应用程序导致内存泄漏;另一种选择?

ios - 获取设备 ID 时出现钥匙串(keychain)错误

ios - 如何制作突出显示的自定义按钮

iphone - MapView:使用MKUserTrackingBarButtonItem切换 map 跟踪状态

objective-c - UIImage initWithContentsOfFile 不起作用

java - 如何使用 Spotify Web API 的 PUT 命令通过 Android 应用程序暂停我的 Spotify

ios - Cocoalibspotify(Spotify IOS)中是否有任何收藏选项?

ios - 不同的 UIButton accessibilityLabel 取决于按钮是否被选中

ios - Titanium/如何临时存储照片以在以后的功能中使用

objective-c - 沙箱和 NSTask