Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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
iOS打开iTunes音乐搜索,搜索应用程序中给定的关键字_Ios_Objective C_Itunes - Fatal编程技术网

iOS打开iTunes音乐搜索,搜索应用程序中给定的关键字

iOS打开iTunes音乐搜索,搜索应用程序中给定的关键字,ios,objective-c,itunes,Ios,Objective C,Itunes,我已经建立了一个应用程序,可以显示带有背景音乐的视频,用户可以在视频旁边添加歌曲的元数据(艺术、标题、专辑、流派) 现在我想让观众在iTunes上购买这首歌 我查询iTunes搜索()以获得打开特定歌曲的链接,这在95%的时间内都很有效。我通过比较返回的艺术家和歌曲标题来验证结果,以确保我没有将用户指向“假阳性”歌曲 如果我不能找到一个完美的匹配,我想打开iTunes,在歌曲字段中预先填写标题和艺术家。我很难让它工作 到目前为止,我最大的努力就是开门itms://search.itunes.ap

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

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

我查询iTunes搜索()以获得打开特定歌曲的链接,这在95%的时间内都很有效。我通过比较返回的艺术家和歌曲标题来验证结果,以确保我没有将用户指向“假阳性”歌曲

如果我不能找到一个完美的匹配,我想打开iTunes,在歌曲字段中预先填写标题和艺术家。我很难让它工作

到目前为止,我最大的努力就是开门itms://search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search 并添加?term=My+关键字&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中仍然如此

有没有办法解决这个问题? 或者你能给我指一份好的文档吗

提前谢谢
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