从我的 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 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的应用程序中退出 Spotify?

如何从我的 Unity Android 应用程序访问 Spotify API?

从我的网站播放Spotify音频

如何从我的应用程序启动 iPhone 设置应用程序?

在 iPhone 中保存 Spotify 登录的用户会话

如何直接从我的 Android 应用程序打开 Amazon AppStore?