如何链接到我们的应用程序的更新页面

sky*_*her 21 iphone app-store openurl ios

如果用户运行的是过期版本,我们会提示用户升级他们的应用.当用户点击我们的更新按钮时,我使用openURL的地址就像itms://itunes.apple.com/us/app/our-app-title/id12345?mt=8将App Store应用程序加载到我们的应用程序列表中一样.

但是,使用该方法,生成的屏幕有一个标记为"打开"而不是"更新"的按钮.如果用户首先打开App Store应用程序,然后导航到我们应用程序的列表(或转到更新选项卡),该按钮将标记为"更新".

我可以在openURL调用中将当前版本作为查询字符串参数传递,还是有另一种方法可以确保显示"更新"按钮?我找不到有关如何操作的最新文档.(我发现的一切都是几年前,并指的是已停产的phobos工具.)

Ram*_*mis 12

我建议你尝试SKStoreProductViewController类.可以在https://itunesconnect.apple.com - > 我的应用程序 - > Apple ID中找到iTunes项目标识符.

迅捷:

func openStoreProductWithiTunesItemIdentifier(identifier: String) {
    let storeViewController = SKStoreProductViewController()
    storeViewController.delegate = self

    let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier]
    storeViewController.loadProductWithParameters(parameters) { [weak self] (loaded, error) -> Void in
        if loaded {
            // Parent class of self is UIViewContorller
            self?.presentViewController(storeViewController, animated: true, completion: nil)
        }
    }
}

func productViewControllerDidFinish(viewController: SKStoreProductViewController) {
    viewController.dismissViewControllerAnimated(true, completion: nil)
}
// Usage
openStoreProductWithiTunesItemIdentifier("2321354")
Run Code Online (Sandbox Code Playgroud)

objective-c:

- (void)openStoreProductViewControllerWithITunesItemIdentifier:(NSInteger)iTunesItemIdentifier {
    SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init];

    storeViewController.delegate = self;

    NSNumber *identifier = [NSNumber numberWithInteger:iTunesItemIdentifier];

    NSDictionary *parameters = @{ SKStoreProductParameterITunesItemIdentifier:identifier };
    UIViewController *viewController = [self topViewController];
    [storeViewController loadProductWithParameters:parameters
                                   completionBlock:^(BOOL result, NSError *error) {
                                       if (!result) {
                                           NSLog(@"SKStoreProductViewController: %@", error);
                                       }
                                   }];
    [viewController presentViewController:storeViewController animated:YES completion:nil];
    [storeViewController release];
}
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,在运行模拟器时,我永远无法显示此信息,但在实际设备上可以正常使用。 (2认同)