当用户点击按钮时,我喜欢将应用转发到iTunes或Apple Music(就像为Instagram或FV做的那样),在代码下方找到nil错误。有没有办法做到这一点?或者甚至可以在我的应用中更好地播放预览。
var url = NSURL(string: "itms://itunes.apple.com/us/album/ne-olacak-dj-funky-c-vs-ogün-dalka-single/id1202943921")
if UIApplication.shared.canOpenURL(url! as URL) {
UIApplication.shared.openURL(url! as URL)
}
答案 0 :(得分:1)
此方法要求URLString仅包含正确形成的URL中允许的字符。所有其他字符必须正确转义百分比。任何百分比转义字符都使用UTF-8编码进行解释。
并且您需要在将其传递给NSURL之前对其进行编码,您可以通过stringByAddingPercentEncodingWithAllowedCharacters
let url = URL(string: "itms://itunes.apple.com/us/album/ne-olacak-dj-funky-c-vs-ogün-dalka-single/id1202943921".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)
if UIApplication.shared.canOpenURL(url! as URL) {
UIApplication.shared.open(url!, options: [:], completionHandler: nil)
}
对于该错误,您需要遵循此
这是Apple在iOS 9中构建的任何应用上实施的新强制安全措施。
到目前为止,唯一的解决方案是在info.plist文件中添加一个带有Key LSApplicationQueriesSchemes的条目,并添加" itms"以及您的应用将在此阵列中链接到的任何其他网址方案。