美文网首页其他知识iOS 开发每天分享优质文章
IOS 应用内直接下载程序 不需跳转AppStore

IOS 应用内直接下载程序 不需跳转AppStore

作者: iOS开发小学生 | 来源:发表于2018-08-09 14:52 被阅读496次

    不跳转AppStore. 原来是IOS6.0就有的新的特性,这和程序自动更新跳转应用商店是一个作用。不同的是,这个可以在应用内部直接打开,不需要挑转到应用商店,当完成操作以后,就可以直接返回到本应用当前操作的界面。用法如下:

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

    1.实例化一个SKStoreProductViewController类 

    2.设置它的delegate 

    3.把sotre product视图控制器显示给消费者

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

    代码如下:

    //

    //  ViewController.m

    //  消费者demo

    //

    //  Created by mac on 2018/8/9.

    //  Copyright © 2018年 com.zkr. All rights reserved.

    //

    #import "ViewController.h"

    #import

    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

    }

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event{    SKStoreProductViewController *skstore = [[SKStoreProductViewController alloc] init];

    skstore.delegate=self;

    [self presentViewController:skstore animated:YES completion:nil];

    //最后加载应用数据(一定要记住这个数据要在视图出现以后去加载)

     [skstore loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@(自己程序的ID)} completionBlock:^(BOOL result, NSError * _Nullable error) {

    if(error) {

                //handle the error

     }

        }];

        //present

    }

    //注意一定要有代理方法,不然,当你返回

    - (void)productViewControllerDidFinish:(SKStoreProductViewController*)viewController {

        [viewController dismissViewControllerAnimated:YES

                                     completion:nil];

    }

    如果对你有用,记得点赞和关注啊!

    相关文章

      网友评论

        本文标题:IOS 应用内直接下载程序 不需跳转AppStore

        本文链接:https://www.haomeiwen.com/subject/fmzqbftx.html