2012-04-11 194 views
5

我敢肯定,必须有一种方法可以从我自己的应用程序启动Spotify iphone应用程序。将播放列表推送到Spotify应用时,我看到了SMP应用(分享我的播放列表)做了非常类似的事情。从我的iPhone应用程序打开Spotify应用程序

我想这应该是通过使用类似:

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

正如你所看到的,我希望能够做一个特定的关键字Spotify Search的。问题是我真的不知道spotify网址方案,如果有这样的东西可用。

我一直在寻找在网络中,Spotify的开发者网站等,但没有出现......

+0

尝试spotify:搜索:muse(来自http://www.spotify.com/se/blog/archives/2008/01/14/linking-to-spotify/) – 2012-04-11 18:49:39

+0

太棒了!它的工作,但它没有登陆Spotify搜索选项卡与结果。如果认为应该有办法告诉Spotify应用程序这样做。你知道它可能吗?顺便说一句,谢谢 – 2012-04-12 09:41:13

回答

10

我遇到了在应用中同样需要。我的解决方案是创建一个客户端,点击Spotify API返回搜索的XML或JSON。举例来说,如果你想缪斯,你会打的API使用以下网址:

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

从XML或JSON,你就可以到他们的URL方案中提取链接到特定的艺术家:

spotify:artist:12Chz98pHFMPJEknJQMWvI 

砍掉Spotify的:艺术家:部分和追加一条到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在未来决定改变这一切,它会在没有警告的情况下破坏这个功能。

+3

spotify:// spotify:artist:12Chz98pHFMPJEknJQMWvI也可以工作。 – leolobato 2013-01-18 21:45:49

+0

你的应用名称是什么?只是好奇:) – 2013-07-03 15:14:12

+3

最新版本的Spotify似乎并没有兑现完整的http://open.spotify.com网址。只是做spotify://艺术家:12Chz98pHFMPJEknJQMWvI似乎虽然工作。 – 2014-04-11 21:28:38

0

我做的快速修复是删除被添加到原始uri的urlscheme。 所以你会直接调用uri。

这是 'Spotify的:艺术家:4gzpq5DPGxSnKTe4SA8HAU' 或 'Spotify的:轨道:1dNIEtp7AY3oDAKCGg2XkH'

UIApplication.shared.openURL( “Spotify的:艺术家:4gzpq5DPGxSnKTe4SA8HAU”) 或 UIApplication.shared.openURL(“Spotify的:track:1dNIEtp7AY3oDAKCGg2XkH“)

此修复程序用于调用v6及更高版本中的旧urlscheme时的崩溃。

相关问题