iOS 应用内跳转到appstore里下载

SKStoreProductViewController类是UIViewController的子类, 如果你对view controller比较熟悉的话,那SKStoreProductViewController使用起来也非常简单了。当你希望向用户展示App Store中产品时,你需要:

1.实例化一个SKStoreProductViewController类
2.设置它的delegate
3.把sotre product视图控制器显示给消费者

剩下的就交给操作系统来处理了。需要记住一点的是SKStoreProductViewController只能以模态的方式显示。SKStoreProductViewControllerDelegate协议定义了一个单独的方法—productViewControllerDidFinish:,当消费者离开App Store时会调用这个方法—一般是通过点击左上角画面中的取消按钮。通过给代理发送productViewControllerDidFinish:消息,操作系统就会把控制权返回到你的程序。当然你不能忘了 只支持IOS6.0及其以上~~

步骤:

1.添加 storeKit.framework

2.头文件里 加上

#import <StoreKit/StoreKit.h>

@interface ViewController : UIViewController<SKStoreProductViewControllerDelegate>

3.直接在m中实现

- (IBAction)doAction:(UIButton *)sender {
      [self showAppInApp:@"xxxxxx"];//此处xxxxx需要替换为需要的appID
}
- (void)showAppInApp:(NSString *)_appId {
  Class isAllow = NSClassFromString(@"SKStoreProductViewController");
  if (isAllow != nil) {
    SKStoreProductViewController *sKStoreProductViewController = [[SKStoreProductViewController alloc] init];
    sKStoreProductViewController.delegate = self;
    [sKStoreProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier: _appId}
                      completionBlock:^(BOOL result, NSError *error) {
                        if (result) {
                          [self presentViewController:_SKSVC
                                             animated:YES
                                           completion:nil];
                        }
                        else{
                          NSLog(@"%@",error);
                        }
                      }];
  }
  else{
    //低于iOS6没有这个类
    NSString *string = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/us/app/id%@?mt=8",_appId];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:string]];
  }
}

#pragma mark - SKStoreProductViewControllerDelegate

//对视图消失的处理
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {

[viewController dismissViewControllerAnimated:YES
                                     completion:nil];

}

时间: 2024-11-10 11:02:41

iOS 应用内跳转到appstore里下载的相关文章

ios应用内跳转到appstore里评分

在ios6.0前跳转到appstore评分一般是直接跳转到appstore评分NSString *evaluateString = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=587767923"];    [[UIApplication sharedAp

iOS 如何生成跳转到Appstore的链接及二维码

1.如果是在应用内部跳转到Appstore只需执行如下代码 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id1061880281"]]; 其中 @"itms-apps://itunes.apple.com/app/id1061880281"为拼接地址,1061880281为应用在Appstore注册上线时产生的唯一I

H5按钮唤起APP应用(IOS)或跳转至APPstore

昨天刚到公司收到了内部邮件,让调研是否可以由H5页面直接唤起APP.因为之前搞过这个东西,所以直接回复可以唤起,但是与前端联调时,遇到了种种的坎,所以今天特此记录一下,方便以后使用. 首先H5唤起APP,需要在H5和APP中进行不同的设置. 原理说明 首先需要说明,不管iOS还是Android,浏览器都不可能预知本地是否安装了某个APP的.或者更严谨地说,我们不能通过浏览器来预知本地是否安装.因为就算浏览器可以读取本地应用的安装列表,但是目前也没任何一家浏览器提供查询的API,所以这条路是走不通

iOS 应用内跳转到系统设置

在iOS5以下版本使用以下方法:[IOS5.1+之后不能使用此方法,iOS8的跳转方法已找到见下方,iOS7的正在摸索,欢迎大家给出观点意见] 通过URL Scheme的方式打开内置的Settings,代码如下 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]; 以下是内置的Settings的URL Scheme: About - prefs

iOS应用内跳转系统设置相关界面的方法

在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开蓝牙或者WIFI,提醒用户打开推送或者位置权限等.在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个prefs值,如下图: 跳转系统设置根目录中的项目使用如下的方法: 1 _array = @[ 2 @{@"系统设置":@"prefs:root=INTERNET_TETHERING"}, 3 @{@"WIFI设置":@"prefs:root=W

iOS App 内跳转到手机系统设置页面

在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开提醒用户打开推送或者位置权限等. 在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个Prefs值,如下图: 注意:设置跳转有三种方式,每一种的使用场景都不同. 并且你在跳转到系统中自己应用下面设置的时候, 你的应用要提前至少申请了某一个权限,如通知,定位等.否则,会引起崩溃. 方式一:prefs:root=某项服务 方式二:prefs:root=bundleID 方式三: UIApplicationOp

iOS应用内跳转百度高德苹果地图

移动开发经常用到基于位置的一些导航功能,但是对于对导航功能依赖性不强的的应用,我们直接采用应用外跳转地图APP即可. 但是应用间跳转,首先需要设置白名单, 在iOS 9 下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme,对于需要配置的平台,如果没有配置,将无法正常跳转平台客户端,因此需要配置Scheme名单.本文我们需要添加百度地图和高德地图的scheme白名单. 具体方法:在项目的info.plist中添加LSApplicationQueriesSch

在iOS应用中跳转到AppStore

1.找到应用程序的描述链接,比如: https://57324.api-01.com/serve?action=click&publisher_id=57324&site_id=48830 2.然后将 http:// 替换为 itms:// 或者 itms-apps:// ,如下: itms://57324.api-01.com/serve?action=click&publisher_id=57324&site_id=48830 itms-apps://57324.api

应用内直接跳转到Appstore

1 iOS开发中,应用内直接跳转到Appstore 2 1.进入appstore中指定的应用 3 NSString *str = [NSString stringWithFormat: 4 @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa /wa/viewContentsUserReviews?type=Purple+Software&id=%d", 5 myAppID ]; 6 7 [[UIApplication