我想创建一个按钮,用户可以在其中取消自动续订订阅(或重定向到 App Store)。
用户无需先完成整个购买流程是否可行?如果是的话,你会怎么做?
2019 年 12 月
根据 Apple 的处理订阅计费文档,现在正确的 URL 是 https://apps.apple.com/account/subscriptions。
所以只需使用:
UIApplication.shared.open(URL(string: "https://apps.apple.com/account/subscriptions")!)
来自 Apple 应用内购买编程指南 -
您无需编写自己的订阅管理 UI 代码, 应用程序可以打开以下网址:
https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions 打开此 URL 将启动 iTunes 或 iTunes Store,然后显示 管理订阅页面。
因此,只需创建一个启动该 URL 的按钮即可。
UIApplication.shared.openURL(URL(string: "https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions")!)
所以对于 Swift 3/4 只需使用这个
UIApplication.shared.openURL(URL(string: "https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions")!)
iOS 10 及以上版本
UIApplication.shared.open(URL(string: "https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions")!, options: [:], completionHandler: nil)
Mac操作系统:
if let url = URL(string: "https://apps.apple.com/account/subscriptions") {
NSWorkspace.shared.open(url)
}
2021 年 4 月
根据Apple文档,URL已更新为
https://apps.apple.com/account/subscriptions
因此可以使用以下代码将用户重定向到管理订阅页面。
DispatchQueue.main.async {
UIApplication.shared.open(URL(string: "https://apps.apple.com/account/subscriptions")!, options: [:], completionHandler: nil)
}