【问题标题】:iOS open iTunes music search with given keywords from appiOS 使用来自应用程序的给定关键字打开 iTunes 音乐搜索
【发布时间】:2014-09-24 22:13:03
【问题描述】:

我已经构建了一个显示带有背景音乐的视频的应用程序,用户可以添加要在视频旁边显示的歌曲的元数据(艺术家、标题、专辑、流派)。

现在我想让观众在 iTunes 中购买这首歌。

我查询 iTunes 搜索 (https://itunes.apple.com/search) 以获取打开特定歌曲的链接,这在 95% 的情况下都很好用。我通过比较返回的艺术家和歌曲标题来验证结果,以确保我不会将用户指向“误报”歌曲。

如果我找不到完美匹配,我想打开 iTunes 并在歌曲字段中预先填写标题和艺术家。而且我很难让它发挥作用。

到目前为止,我最大的努力是打开 itms://search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search 并添加 ?term=My+keywords&media=music&entity=song 以打开 iTunes 搜索显示的视图已经填写了“我的关键字”,但不幸的是搜索词被弄乱了,显示为(“我的关键字”),包括引号和括号。

这是我正在使用的代码:

NSString* baseURLString2 = @"itms://search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search";
NSString* searchUrlString2 = [NSString stringWithFormat:@"%@?term=%@&media=music&entity=song", baseURLString2, searchTerm];

searchUrlString2 = [searchUrlString2 stringByReplacingOccurrencesOfString:@" " withString:@"+"];
searchUrlString2 = [searchUrlString2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL* searchUrl2 = [NSURL URLWithString:searchUrlString2];

dispatch_async(dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication] openURL:searchUrl2];
});

这是 searchUrlString2 的示例:

itms://search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?term=J+Cole+Trouble&media=music&entity=song

当我使用 https 而不是 itms 时,它在我的 MacBook 上的浏览​​器中运行良好,但在 iOS 8 上的 iTunes 中仍然相同。

关于如何解决这个问题的任何想法? 或者你能给我指出一个很好的文档吗?

提前致谢 斯文

【问题讨论】:

    标签: ios objective-c itunes


    【解决方案1】:

    找到它,使用 itms://itunes.apple.com/WebObjects/MZStore.woa/wa/search 作为 baseURL 为我解决了问题。

    所以完整的网址是:

    itms://itunes.apple.com/WebObjects/MZStore.woa/wa/search?term=MySearch&media=music&entity=song
    

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 2020-10-04
      • 1970-01-01
      相关资源
      最近更新 更多