iOS使用给定的关键字从应用程序打开iTunes音乐search

我已经构build了一个应用程序,显示带有背景音乐的video,用户可以添加要在video旁边显示的歌曲的元数据(artis,title,album,genre)。

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

我查询iTunessearch( https://itunes.apple.com/search )以获得打开特定歌曲的链接,这在95%的时间内很好。 我通过比较返回的艺术家和歌词来validation结果,以确保我不会将用户指向“误报”歌曲。

如果我不能find完美的匹配,我想打开iTunes,并预先填写歌曲领域的标题和艺术家。 而且我正在努力工作。

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

这是我正在使用的代码:

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中仍然是一样的。

有想法该怎么解决这个吗? 或者你能指出我一个很好的文档呢?

在此先感谢SVen

发现它,使用itms://itunes.apple.com/WebObjects/MZStore.woa/wa/search作为baseURL做了我的诡计。

所以完整的url是:

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