首页 > 编程语言 >IOS6.0 应用内直接下载程序&n…

IOS6.0 应用内直接下载程序&n…

时间:2023-05-07 22:03:16浏览次数:38  
标签:nil self IOS6.0 程序 NSString SKStoreProductViewController productViewControllerDi


闲来没事看了篇文章 应用内创建应用商店环境,不跳转AppStore. 先武断的想一句:放屁。然后好奇的进去看看,原来是IOS6.0的新特性,顿感惭愧。研究下


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

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


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


步骤:

1.添加 storeKit.framework

2.头文件里 加上  

#import

@interface ViewController : UIViewController<</span>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]; }

标签:nil,self,IOS6.0,程序,NSString,SKStoreProductViewController,productViewControllerDi
From: https://blog.51cto.com/u_548275/6252615

相关文章

  • Python程序与设计
    2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加代码的可读性运......
  • kali中使用exe文件安装应用程序
    kali中直接打开exe文件是会报错的,因此需要安装wine插件才能使用exe文件安装应用程序。1、终端使用root账号登录,输入sudodpkg--add-architecturei386开启i386支持。2、使用vim/etc/apt/sources.list命令打开kali下载安装的源,往里面写入wine的官网debhttps://dl.winehq.org/w......
  • 程序的编译过程
    程序运行的4个阶段 预处理:处理一些#号定义的命令或语句(如#define、#include、#ifdef等),生成.i文件编译:进行词法分析、语法分析和语义分析等,生成.s的汇编文件汇编:将对应的汇编指令翻译成机器指令,生成二进制.o目标文件链接:链接分为两种:静态链接和动态链接 (1).静态链接在链......
  • Xshell7提示:要继续使用此程序,您必须应用最新的更新或使用新版本
    今天打开xshell的时候,报出问题,需要更新到新版本:Xftp7也是无法直接打开。解决方案:1.新建xshell新版本补丁.bat##################################begin####################@echooff%1mshtavbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c%~s......
  • COMP30023 远程程序调用
    ​ COMP30023Project2RemoteProcedureCallOutdate:28April2023Duedate:Nolaterthan5pmMonday22May,2023AESTWeight:15%ofthefinalmark1ProjectOverviewRemoteProcedureCall(RPC)isacrucialtechnologyindistributedcomputingthate......
  • 一个28岁程序员入行自述和感受
    我是一个容易焦虑的人,工作时候想着跳槽,辞职休息时候想着工作,休息久了又觉得自己每天在虚度光阴毫无意义,似乎陷入了一个自我怀疑自我焦虑的死循环了。我想我该做的点什么去跳出这个循环。。。自我叙述我相信,每个人都有一个自命不凡的梦,总觉得自己应该和别人不一样,我不可能如此普......
  • 一个28岁程序员入行自述和感受
    我是一个容易焦虑的人,工作时候想着跳槽,辞职休息时候想着工作,休息久了又觉得自己每天在虚度光阴毫无意义,似乎陷入了一个自我怀疑自我焦虑的死循环了。我想我该做的点什么去跳出这个循环。。。自我叙述我相信,每个人都有一个自命不凡的梦,总觉得自己应该和别人不一样,我不可能如此普......
  • C#中应用程序集的装载过程详解
    原文:https://blog.csdn.net/chinaherolts2008/article/details/114325104这篇文章主要介绍了C#中应用程序集的装载过程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧了解程序集如何在C#.NET中加......
  • 微信小程序在wxml里不支持includes,indexOf,findIndex等方法
    小程序的wxml文件内不支持数组的includes,indexOf,findIndex等方法。不是垃圾是什么?玩什么标新立异?不会搞就别TM搞。 开发者:我想上二楼。WX:这里有一坨屎,吃子它,就让你上二楼。开发者:@#$%&@^$*^&*&^$%$^ 咋做?在任意目录创建一个.wxs文件,里面写上如下代码:文件-/utils/wuti......
  • JVM系列---【使用jmx_agent监控java程序】
    使用jmx_agent监控java程序1.下载jmx_prometheus_javaagent.jar从https://github.com/prometheus/jmx_exporter/releases下载最新版本的jmx_prometheus_javaagent.jar2.创建一个名为jmx_exporter_config.yml的文件用于配置jmx_prometheus_javaagent.jar的监控参数。该文件应......