Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spotify iOS SDK track.availableTerritories_Ios_Spotify - Fatal编程技术网

Spotify iOS SDK track.availableTerritories

Spotify iOS SDK track.availableTerritories,ios,spotify,Ios,Spotify,我正在构建的音乐应用程序中使用Spotify iOS SDK。我遇到的问题是,我经常遇到美国没有的曲目,因此SPTTrackPlayer不会播放这些曲目。我注意到SPTTrack对象有一个availableTerritories属性,所以我想很简单,我只检查它在美国是否可用,如果不可用,我将跳过它。不幸的是,他们的数据集似乎非常不完整,因为许多在美国可用的歌曲,相同的URI在桌面客户端中播放,没有任何抱怨/在我的应用程序中,当我没有通过availableTerritory剔除曲目时,不会将我们列

我正在构建的音乐应用程序中使用Spotify iOS SDK。我遇到的问题是,我经常遇到美国没有的曲目,因此SPTTrackPlayer不会播放这些曲目。我注意到SPTTrack对象有一个availableTerritories属性,所以我想很简单,我只检查它在美国是否可用,如果不可用,我将跳过它。不幸的是,他们的数据集似乎非常不完整,因为许多在美国可用的歌曲,相同的URI在桌面客户端中播放,没有任何抱怨/在我的应用程序中,当我没有通过availableTerritory剔除曲目时,不会将我们列在availableTerritories下,而且许多歌曲根本没有列出任何地区。所以我想知道,有没有其他方法来检测这些痕迹?也许,SPTTrackPlayer中的某些东西表明它无法播放曲目?如有任何建议,将不胜感激,谢谢

当我没有通过availableTerritory剔除曲目时,相同的URI会毫无怨言地在桌面客户端/我的应用程序中播放

这几乎是真的。桌面客户端会自动搜索其他曲目,如果不可用,则播放该曲目。这对用户来说是完全透明的,因此您不会注意到它


如果您遇到一个在用户区域内不可用的曲目,如果您进行搜索,您很可能会找到同一曲目的另一个可用版本

因此,为了确保我了解iOS SDK中发生了什么,当我给SPTTrackPlayer一个SPTTrackProvider,其中包含一个没有将美国列为可用区域的曲目时,它正在用一个幕后的曲目替换它?例如,当这首曲目:Halo spotify:track:3I5cWf8Zklg91QY43bkIN3毫无怨言地播放但没有列出我们时,它实际上播放的是另一首曲目?谢谢你的评论直接与你的问题相矛盾。你的问题表明你不能播放不包含我们的曲目,但你的评论说你可以。是哪一个?两者都有,这正是我的问题所在,因为你似乎无法仅仅通过检查SPTTrack对象上的availableTerritories属性来区分哪些轨迹在美国是真正可用的。我假设这要么是因为数据集不完整,要么是因为你的答案所暗示的一些幕后魔法。