从我的iPhone应用程序打开spotify应用程序

时间:2012-04-11 18:31:52

标签: iphone ios url spotify

我很确定必须有一种方法可以从我自己的应用程序启动spotify iphone应用程序。我已经看到SMP应用程序(分享我的播放列表)在将播放列表推入Spotify应用程序时做了类似的事情。

我想应该使用类似的东西:

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

如您所见,我希望能够对特定关键字进行spotify搜索。问题是我真的不知道spotify网址方案,如果有这样的东西可用。

我一直在网上搜索,在spotify开发者网站等搜索,但没有任何结果......

2 个答案:

答案 0 :(得分:12)

我在应用中遇到了类似的需求。我的解决方案是创建一个命中Spotify API的客户端,以返回搜索的XML或JSON。例如,如果你想要Muse,你可以使用以下URL点击API:

http://ws.spotify.com/search/1/artist?q=muse

从XML或JSON中,您将能够在其URL方案中提取指向特定艺术家的链接:

spotify:artist:12Chz98pHFMPJEknJQMWvI

切掉spotify:artist:part并将其附加到Spotify艺术家链接:

http://open.spotify.com/artist/12Chz98pHFMPJEknJQMWvI

然后,使用Spotify URL方案和UIApplication,您可以将Spotify应用程序打开到该特定艺术家的页面:

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:
       @"spotify://http://open.spotify.com/artist/12Chz98pHFMPJEknJQMWvI"]];

注意,使用URL方案访问另一个应用程序的功能通常没有文档记录,可能是一个脆弱的努力。如果将来Spotify决定改变这一点,它将在没有警告的情况下破坏此功能。

答案 1 :(得分:1)

我做的快速修复是删除添加到原始uri的urlscheme。 所以你会直接打电话给uri。

这是'spotify:artist:4gzpq5DPGxSnKTe4SA8HAU'或'spotify:track:1dNIEtp7AY3oDAKCGg2XkH'

UIApplication.shared.openURL( “Spotify的:艺术家:4gzpq5DPGxSnKTe4SA8HAU”) 要么 UIApplication.shared.openURL( “Spotify的:轨道:1dNIEtp7AY3oDAKCGg2XkH”)

此修复是针对从v6及更高版本调用旧urlscheme时发生的崩溃。