gpt4 book ai didi

ios - 如何添加 "Get it on iTunes"按钮

转载 作者:搜寻专家 更新时间:2023-10-31 23:01:28 24 4
gpt4 key购买 nike

我正在寻找一种方法来为我正在制作的应用程序生成“在 iTunes 上下载”按钮。

我只是不知道如何获取在点击后将用户实际发送到 iTunes 商店所需的 URL。

我看到了这个post ,其中讨论了使用 URL。我尝试将其输入到我的应用程序中,但效果很好。但是,我不知道在哪里可以根据歌曲艺术家和标题生成这些 URL。

我知道我可能只需要使用 Linkmaker?有什么替代方法吗?

干杯

最佳答案

我很早就偶然发现了同样的问题,下面是我解决这个问题的方法:

我正在获取 artist name - song name 作为输入值。然后我只创建一个适当的链接并向 iTunes 搜索 API 发出请求并取回一堆链接,选择第一个并创建一个按钮。

注意:itunes 搜索 api 无法识别艺术家姓名和歌曲名称中的空格,我们应该将字符串中出现的所有空格替换为“+”符号。

代码片段:

func fetchLink(artist: String, track: String, completion: ((String?) -> ()), failure: ((NSError) -> ())?)
{
let artistFixedString = replaceSpacesInString(artist)
let trackFixedString = replaceSpacesInString(track)

let urlString = "https://itunes.apple.com/search?term=" + artistFixedString + "+" + trackFixedString + "&limit=1"

//NOTE: here we can use NSURLSession
let manager = AFHTTPRequestOperationManager()
manager.GET(urlString, parameters: nil, success: { (operation, result) -> Void in

if let results = result["results"] as? [[String:AnyObject]], let track = results.first, let itunesUrl = track["trackViewUrl"] as? String
{
dispatch_async(MainQueue) { completion(itunesUrl) }
}else{
dispatch_async(MainQueue) { completion(nil) }
}
}) { (operation, error) -> Void in
dispatch_async(dispatch_get_main_queue()) {
failure?(error)
}
}
}

func replaceSpacesInString(string: String, withString replacement: String = "+") -> String
{
return string.stringByReplacingOccurrencesOfString(" ", withString: replacement, options: NSStringCompareOptions.LiteralSearch, range: nil)
}

关于ios - 如何添加 "Get it on iTunes"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34195864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com