我已经构建了一个显示带有背景音乐的视频的应用程序,用户可以添加要在视频旁边显示的歌曲的元数据(artis,标题,专辑,流派)。
现在我想让观众在iTunes中购买这首歌。
我查询iTunes搜索(https://itunes.apple.com/search)以获得打开特定歌曲的链接,这在95%的情况下效果很好。我通过比较返回的艺术家和歌曲来验证结果,以确保我没有将用户指向“误报”歌曲。
如果我找不到完美匹配,我想打开iTunes并在歌曲字段中预先填写标题和艺术家。而且我很难让它发挥作用。
到目前为止,我的最大努力是打开它://search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search并添加?term =我的+关键字& 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中仍然相同。
有关如何解决此问题的任何想法? 或者你能指点我一个很好的文件吗?
提前致谢 斯文
答案 0 :(得分:2)
发现它,使用itms://itunes.apple.com/WebObjects/MZStore.woa/wa/search as baseURL为我做了诀窍。
所以完整的URL是:
itms://itunes.apple.com/WebObjects/MZStore.woa/wa/search?term=MySearch&media=music&entity=song