从我的 iPhone 应用程序打开 Spotify 应用程序
Posted
技术标签:
【中文标题】从我的 iPhone 应用程序打开 Spotify 应用程序【英文标题】:Opening spotify app from my iphone app 【发布时间】:2012-04-24 02:33:53 【问题描述】:我很确定一定有一种方法可以从我自己的应用程序中启动 spotify iphone 应用程序。我看到 SMP 应用(分享我的播放列表)在将播放列表推送到 Spotify 应用时做了非常相似的事情。
我想应该是这样的:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"spotify://search:muse"]];
如您所见,我希望能够通过 spotify 搜索特定关键字。问题是我真的不知道 spotify url 方案,如果有这样的东西可用。
我一直在网上、spotify 开发者网站等中搜索,但没有任何结果...
【问题讨论】:
试试 spotify:search:muse(来自spotify.com/se/blog/archives/2008/01/14/linking-to-spotify) 太棒了!它起作用了,但它没有与结果一起出现在 spotify 搜索选项卡中。如果认为应该有办法告诉 Spotify 应用程序这样做。你知道它是否可能吗?谢谢 【参考方案1】:我在应用程序中遇到了类似的需求。我的解决方案是创建一个点击 Spotify API 以返回搜索的 XML 或 JSON 的客户端。例如,如果您想要 Muse,您可以使用以下 URL 访问 API:
http://ws.spotify.com/search/1/artist?q=muse
从 XML 或 JSON 中,您将能够在他们的 URL 方案中提取指向特定艺术家的链接:
spotify:artist:12Chz98pHFMPJEknJQMWvI
删除 Spotify:artist: 部分并将其附加到 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 将来决定对此进行任何更改,它将在没有警告的情况下破坏此功能。
【讨论】:
spotify://spotify:artist:12Chz98pHFMPJEknJQMWvI 也可以,顺便说一句。 您的应用名称是什么?只是好奇:) 最新版本的 Spotify 似乎不支持完整的open.spotify.com URL。只是做 spotify://artist: 12Chz98pHFMPJEknJQMWvI 似乎有效。【参考方案2】:我做的快速修复是删除添加到原始 uri 的 urlscheme。 所以你会直接调用uri。
这是 'spotify:artist:4gzpq5DPGxSnKTe4SA8HAU' 或 'spotify:track:1dNIEtp7AY3oDAKCGg2XkH'
UIApplication.shared.openURL("spotify:artist:4gzpq5DPGxSnKTe4SA8HAU") 要么 UIApplication.shared.openURL("spotify:track:1dNIEtp7AY3oDAKCGg2XkH")
此修复适用于从 v6 及更高版本调用旧 urlscheme 时的崩溃。
【讨论】:
以上是关于从我的 iPhone 应用程序打开 Spotify 应用程序的主要内容,如果未能解决你的问题,请参考以下文章