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

我很确定必须有一种方法来从我自己的应用程序启动spotify iphone应用程序。 我已经看到SMP应用程序(分享我的播放列表)做播放列表到Spotify应用程序时非常相似。

我想这应该是通过使用像这样的东西:

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

正如你所看到的,我希望能够进行spotifysearch一个特定的关键字。 问题是我真的不知道Spotify的urlscheme,如果有这样的事情。

我一直在网上search,Spotify的开发者网站等,但没有出现…

我在应用程序中遇到类似的需求。 我的解决scheme是创build一个客户端,点击Spotify API返回search的XML或JSON。 例如,如果你想要Muse,你可以用下面的URL来访问API:

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

从XML或JSON中,您可以在URLscheme中提取到特定艺术家的链接:

 spotify:artist:12Chz98pHFMPJEknJQMWvI 

closuresspotify:artist:部分并将其附加到Spotify艺术家链接上:

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

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

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

请注意,使用URLscheme来访问另一个应用程序的function通常是没有logging的,可能是一个脆弱的努力。 如果Spotify在未来决定改变这一切,它将在没有任何警告的情况下破坏这个function。

我做的快速解决scheme是删除已添加到原始URI的urlscheme。 所以你会直接调用uri。

这是'spotify:艺术家:4gzpq5DPGxSnKTe4SA8HAU'或'spotify:track:1dNIEtp7AY3oDAKCGg2XkH'

UIApplication.shared.openURL(“spotify:artist:4gzpq5DPGxSnKTe4SA8HAU”)or UIApplication.shared.openURL(“spotify:track:1dNIEtp7AY3oDAKCGg2XkH”)

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