Currently with In app purchase the only way to cancel an auto-renewing subscription is to do the following with the device:
Settings > Store > View my account > Manage my subscription
Is it possible programmatically to link directly to the Manage my subscription page in the app store? I know I can open the app store via something like
NSURL *url = [NSURL URLWithString:@"itms-apps://itunes.apple.com"];
[[UIApplication sharedApplication] openURL:url];
I have seen other apps do this but I can't seem to figure out how.
The new and official way (according to WWDC 2018 Session 705) is the following url:
https://apps.apple.com/account/subscriptions
Following this iTunes Connect guide, this URL works:
https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions
You can link directly to the Manage Subscriptions page in the App Store without having to write your own manage subscriptions page. To do so, link to this URL: https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions
However this will redirect to Safari before redirecting to App Store App. So the user will see app switching twice in their device. Changing https
to itms
or itms-apps
does not seem to just work.
Btw, this only works on the device. It wouldn't work on the simulator.
The above answers are possibly slightly out of date (including Apple's documentation grrr) as I am receiving a Safari error when trying to use the link:
// old way
https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions
Using XCode 5.1 and iOS 7.x, I am able to correctly link to the "Manage Subscriptions" section for the app in question using the following openURL:
call:
// new way
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions"]]
use this link to skip past safari and right to the screen in the appstore:
itmss://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions
have fun
2018 on IOS its a combination of the answers above. This URL will open the App Store App with the correct view:
itms-apps://apps.apple.com/account/subscriptions
As of Nov 2018, this is the best approach.
if let url = URL(string: "itms-apps://apps.apple.com/account/subscriptions") {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:])
}
}
You can achieve this in Swift using the following code -
let url=NSURL(string:"https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions")
UIApplication.sharedApplication().openURL(url!)
Swift 3
let url = URL(string:"https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions")
UIApplication.shared.openURL(url!)
My app has recently been rejected for providing an external subscription management option in my app. The message I got from Apple Dev Team was: "We still found that while you have submitted In App Purchase products for your app, the In App Purchase functionality is not present in your binary. Specifically, the 'Manage Subscriptions' option links out of the app to iTunes Store."
I provided an view so the user can "Restore/Subscribe" to a yearly auto-renewable subscription (of course I have added the underlying logic to detect when the user is subscribed / not subscribed, and a "Manage my subscriptions" button that allows the user to manage his subscription via itunes (which is something I got out from various sources including this post).
I think this should be avoided in order to have the IAP product accepted. Perhaps you faced the same issue when submitting the app to review.
来源:https://stackoverflow.com/questions/15530794/link-to-app-manage-subscriptions-in-app-store