1.前言

Xcode12之前App内购需经过以下流程

  1. 登录App Store Connect
  2. 创建App
  3. 在App下创建内购产品
  4. 在App Store Connect创建沙盒测试用户
  5. 在代码中接入内购,并使用创建好的沙盒测试用户进行测试
  6. 上线App,内购自动切换为正式环境

此文中所有沙盒均为Appstore connect内购沙盒,不要和iOS工程中沙盒搞混

如果你对内购不太了解,可以阅读以下文章

In-App Purchase Tutorial: Getting Started​www.raywenderlich.com

2. Xcode12的本地内购测试

xcode12给我们带来了全新的测试流程。我们无需通过App Store Connect在开发的时我们就可以进行内购的接入与测试
下载项目工程,此工程来自raywenderlich,对其进行了Xcode本地 内购测试的接入

https://github.com/wlixcc/StoreKit-TestingInXcode​github.com

3. 创建StoreKit配置文件

1. 在xcode中新建配置文件文件,搜索StoreKit (Xcode12及以上版本)

2. 新建内购项目,这里我们新建一个Non-Consumable的内购项目

3. 对内购产品进行配置,其中需要注意的是Product ID,内购产品的唯一标识

4. 调整Xcode使用StoreKit配置文件而不是沙盒环境

1.选择Edit Scheme

2. 选择我们刚创建好的配置文件

5. 完成内购流程

1. 我们将工程中的ID与刚才创建的内购产品对应。

2. 运行并启动,我们已经可以看到我们创建的内购产品了。整个流程无需去Appstore connect创建产品配置, 简化了非常多流程。

3. 完成购买

6. 内购流程重复测试

如果使用沙盒环境进行Non-Consumable 产品的测试,我们每完了购买流程就无法删除购买记录。要重新购买就需要新建一个新的沙盒用户进行测试,非常繁琐。 使用xcode进行内购测试,我们可以删除内购记录

1. 选择Manager StoreKit Transactions

2. 可以选择购买记录,进行删除

3. 这时候我们就可以重新启动购买流程

如果你的App在本地数据库保存了购买记录,记得删除App并重装

7. 测试用户退款

  1. 你可以模拟用户退款

8. 测试Ask To Buy

  1. Editor中选择Enable Ask to Buy

2. 购买

3. 选择同意或者拒绝

9. Auto-Renewable Subscrtiption

1. 流程和之前的一致,我们只需要在Configuration.storekit 配置文件下新建一个Auto-renewable Subscription 的内购产品, 这里我们需要设置订阅组命名为VIP, 产品叫Plus

2. 重新启动运行,可以看到我们新加的内购项目已经出现在App中

3. 设置订阅测试时间

我们可以模拟订阅时间, 30秒就代表了一个月的订阅时间

10. 收据验证

需要注意的是, xcode12本地内购测试使用的签名证书和沙盒环境的不同,所以如果我们需要在验证收据之前,需要先导出对应的公钥

注意在代码中进行环境区分

# 参考链接

Introducing StoreKit Testing in Xcode - WWDC 2020 - Videos - Apple Developer​developer.apple.com

xcode 获取模拟器app沙盒路径_使用Xcode12进行App内购测试相关推荐

  1. ios 获取沙盒文件名_获取IOS各种沙盒路径的方法

    在下初学IOS编程,有很多不懂以及不了解的地方,本着分享的精神,将自己学到用到的一些东西写出来,如果有不正确的地方,希望大家指正. 本次讲解的是IOS下各个文件夹的相关知识. 首先,我们应该知道,在I ...

  2. ios 获取沙河文件夹_沙盒路径获取以及图片保存到相簿的方法

    iphone沙盒(sandbox)中的几个目录获取方式: // 获取沙盒主目录路径 NSString *homeDir = NSHomeDirectory(); // 获取Documents目录路径 ...

  3. iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)

    转:http://my.oschina.net/joanfen/blog/151145 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下 ...

  4. ios 获取沙河文件夹_iOS开发之获取沙盒路径

    iOS开发之沙盒机制(SandBox)详细讲解了沙盒的一些机制.在开发中,我们需要对沙盒进行操作,所以我们需要获取到沙盒路径. 沙盒里的文件夹包括Documents.Library.tmp.这三个文件 ...

  5. ios 获取沙盒文件名_iOS_沙盒(sandbox)机制及获取沙盒路径和文件操作(NSFileManager)...

    ⚠️版权声明:本文为博主原创文章,转载必须标明原文出处. ​一. 每个iOS应用SDK都被限制在"沙盒"中,"沙盒"相当于一个加了仅主人可见权限的文件夹,苹果对 ...

  6. ios 模拟器沙盒_ios沙盒,真机模拟器查看沙盒内容

    一.沙盒文件结构 --Documents ------ 可以和iTunes共享,可以同步的 --Library ------ 不共享给用户,存储用户默认设置和缓存等 --Caches ------ 存 ...

  7. iOS沙盒路径及路径下数据的存储和读取

    2019独角兽企业重金招聘Python工程师标准>>> iOS应用都被限制在"沙盒"中,"沙盒"相当于一个加了仅主人可见权限的文件夹,苹果对沙 ...

  8. 去除警告,打电话,发信息,应用程序之间跳转,打印沙盒路径,字符串名字转换方法,包装导航控制器等的代码...

    从偏好设置中读取值: 打电话代码: 发信息代码: 打印沙盒路径代码: 应用程序之间跳转代码: 跳转到苹果商店代码: 去除警告代码: 根据字符串名称转换成相对应方法的代码: #import " ...

  9. IOS开发沙盒路径的封装技术

    IOS开发沙盒路径的封装技术 实现对NSString 类的分类 导入头文件,即可获取沙盒路径 //沙盒 使用分类的思想 File 填 Sandbox File Type 填 Calegory 分类 C ...

  10. iOS 冰与火之歌 - 利用 XPC 过 App 沙盒

    蒸米是阿里巴巴的移动安全工程师,香港中文大学博士,也是发现并命名了XcodeGhost的人.这次他所在的iOS安全小组发现了影响最新版iOS 9.3的0day漏洞.此漏洞杀伤力巨大,在非越狱手机上一个 ...

最新文章

  1. Dictionary (Of (TKey, TValue)) Class Example
  2. python批量读取csv文件-Python读取/批量读取文件
  3. 点滴积累【C#】---操作xml,将xml数据显示到treeview
  4. css怎么设置圆角背景,CSS新特性:圆角边框多栏Gird布局背景设置
  5. android生成png图片,Android 中将 base64图片 解码为.png图片
  6. 剑指offer之二叉树的高度
  7. 视图可视化 后台_如何在单视图中可视化复杂的多层主题
  8. python画矩形函数drawrectangle_Python3 tkinter基础 Canvas create_rectangle 画矩形
  9. touchend与click顺序
  10. [转]linux 系统 errno.h错误码
  11. win10资源管理器打开缓慢,自动搜索
  12. iOS开发实例 | Demo:数独小游戏
  13. BCJC:30: 计算机术语:读和写操作
  14. 超级好上手的告白小程序
  15. 【数学建模】(五):MATLAB程序设计与积分
  16. 使用清华镜像站下包、pip通过清华镜像站下载
  17. 理解51单片机最小系统的工作原理
  18. 修改个人资料和头像的协议数据包
  19. 定位人工智能时代的“拍照机器人”,美图M8为何能撂倒Angelababy等明星
  20. python语法错误类型_python常见报错类型和异常处理

热门文章

  1. su root无法切换到root用户
  2. 《逻辑说服力》— 综合素质提升书籍
  3. 7-8 猜数字 (20 分)
  4. 《勿忘初心,不负梦想》
  5. 创建表 备注 修改表结构 修改约束
  6. CentOS下MYSQL数据库的安装
  7. 构建大型网站架构服务器集群(转)
  8. java使用Pattern、Matcher调用正则表达式
  9. 完美解决:Could not open the editor: Editor could not be initialized
  10. 十种日常食物比砒霜还毒!