iOS 直接在应用内下载App

一、源起
有的时候,我们的应用并不想让用户跳出程序去操作某些动作,希望用户在App内进行相关处理。
比如跳转AppStore 进行升级或者下载某些应用,这个时候不妨让程序内部处理。openURl 打开AppStore下载页,是一种很简单的处理方式,这里我们提供另一种方式。
二、步骤
1.首先要引入商店程序的库,#import

  1. 初始化弹出控制器、SKStoreProductViewController *storeVC = [[SKStoreProductViewController alloc] init]; 设置代理,这里很重要,不然无法响应。storeVC.delegate = self;
    3.接着弹出VC、[self presentViewController:storeVC animated:YES completion:nil];
    4.最后需要加载该应用相关数据,这里需要用到appid.
[storeVC loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@(your App id)} completionBlock:^(BOOL result, NSError * _Nullable error) {

if (error) {

//handle the error
}
}];

5.执行相关代理方法。

(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
//在代理方法里dismiss这个VC
[viewController dismissViewControllerAnimated:YES completion:nil];
}

你可能感兴趣的:(iOS 直接在应用内下载App)