iOS - 恢复自动续订订阅

2024-03-29

我正在实施自动更新订阅。我有以下问题

订阅内容过期后,用户还能恢复吗?

如果是这样,我如何验证它们并让它们下载


Look at 恢复自动续订订阅 https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Subscriptions.html#//apple_ref/doc/uid/TP40008267-CH7-SW3

基本上你需要打电话[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]您将恢复已恢复的交易。你应该看看originalTransaction财产。您将知道每笔交易的交易日期(也包括过期交易)。然后,您查看产品标识符,您的应用程序应该知道每个产品标识符的订阅时长是多少。由于您知道每笔交易的开始日期和长度,因此您可以计算订阅有效的时间段。 您将它们验证为任何其他交易 - 将它们发送到您的服务器,然后服务器将发送到http://buy.itunes.apple.com/verifyReceipt(将购买更改为沙箱进行测试)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS - 恢复自动续订订阅 的相关文章

  • iOS 13 UIActivityViewController 在图像保存后自动呈现以前的 VC

    我正在尝试实现 将图像保存到库 功能 然后返回到当前视图控制器 但在新的 iOS 13 上 它会返回到呈现当前视图控制器的视图控制器 PHPhotoLibrary requestAuthorization status PHAuthoriz
  • 是否可以在两个应用程序之间共享一项应用程序内购买?

    我的产品有两种不同的版本 一种用于 iPhone 另一种用于 iPad 是否有可能解锁功能通过应用内购买in both与其中之一一起玩一次 您不能使用相同的 ID 但是 您可以管理有关哪些用户在您自己的服务器上进行了哪些购买的信息 并在用户
  • 在 Swift 4 中在 Google 地图上显示路径

    我的问题是我想绘制两点之间的时间 并且我的两个位置都来自不同的控制器 for my first Location extension HomeViewController PickupLocationDelegate func didSel
  • 工作表关闭后 SwiftUI 导航栏项目框架未对齐

    在 SwiftUI 中关闭工作表后 导航栏按钮不可点击 以下是重现该问题的步骤 出示一张单子 将应用程序移至后台一小段时间 2 秒 恢复应用程序并向下滑动关闭工作表 现在导航栏按钮框架未对齐 点击的工作框架与按钮的可见框架不同 这在 iOS
  • 在 UILongPressGestureRecognizer 上,如何检测哪个对象生成了事件?

    我有几个 UIButton 的视图 我已成功使用 UILongPressGestureRecognizer 实现 并使用以下内容作为选择器 void longPress UILongPressGestureRecognizer gestur
  • 为什么我的 Cordova/PhoneGap iOS 应用程序在设备旋转时不旋转?

    我正在尝试做一个仅横向应用程序 https stackoverflow com questions 10996676 phonegap page has wrong rotation shows as portrait in landsca
  • Xcode 4 .xib 创建 iPad 版本

    我有一台 iPhone xib 我想将其变成 iPad xib 在 Xcode 3 中 有一个 创建 iPad 版本 菜单选项 我如何在 Xcode 4 中执行此操作 我目前调整了 xib 的大小 但是当我打开模拟项目 导航栏等 时 它会将
  • XCODE:如何从设备获取/验证准确的时间戳

    在没有互联网连接的情况下是否可以获得 NTP 或准确的时间戳 我不能接受 不信任带有 NSDate date 的设备时间戳 因为它可以由用户修改 并且我的应用程序将通过修改系统日期和时间而被黑客攻击 除此之外 是否有任何方法可以检查系统日期
  • iPad 上的 ios11 iphone 应用程序图标丢失

    我有一个仅限 iPhone 的应用程序 但它也可以在 iPad 上以兼容模式运行 毫不奇怪 但是当我更新了ios11的应用程序后 iPad上的应用程序图标丢失了 这是我尝试过的 在iPhone模拟器上启动 出现图标 在 iPad 模拟器上启
  • CALayerframe.size不等于bounds.size

    我在CALayer上遇到了一些奇怪的事情 最后发现CALayer的frame size不等于它的bounds size 这是我无法理解的 我知道frame是在super的坐标系中 bounds是它自己的坐标 并且通常的情况是frame or
  • 使用 QuartzCore 为 UITextView 创建阴影 [重复]

    这个问题在这里已经有答案了 我使用创建了一个阴影QuartzCore for my UITextView使用以下代码 myTextView layer masksToBounds NO myTextView layer shadowColo
  • IOS Swift 从数组中搜索表

    我刚刚开始学习 swift 我正在研究 tableview 和 searchbar 功能 下面我有我的数组 它是水果列表 var fruits String Apple Green Pear Green Banana Yellow Oran
  • 无法发出桥接标头的预编译标头

    我从 GitHub 下载了一个项目 然后 pod 了以下文件 其中一些文件是由 OBJ C 编写的 我使用了桥接头 pod SnapKit pod MJRefresh pod Alamofire pod Kingfisher pod MBP
  • PreferredInterfaceOrientationForPresentation 必须返回受支持的界面方向 (iOS 6)

    我的应用程序窗口的根视图控制器是 UINavigationController 的子类 我已将此代码添加到类中 BOOL shouldAutorotate return self topViewController shouldAutoro
  • 如何在ios上定义可达性超时

    我使用 Reachability 类来了解我是否有可用的互联网连接 问题是当wifi可用但不能上网时 NetworkStatus currentReachabilityStatus方法花费太多时间 my code Reachability
  • GIDSignIn 在提示前指定范围

    我在 iOS 上升级到 GoogleSignIn 6 0 但找不到在登录时指定登录范围的方法 我只能看到一个名为 addScopes 的 API 我可以在基本登录后指定范围 但这会导致两个单独的登录提示 这很奇怪 之前 我们可以简单地指定登
  • 我可以对图像进行动画处理吗 iOS8 LaunchScreen.xib

    问题 有没有方法可以为针对 iOS 8 1 部署的 Xcode 6 项目的 LaunchScreen xib 文件中的任何内容设置动画 Context 我正在寻找制作简单的动画来传达活动或在用户等待时分散他们的注意力 例子 加载栏 活动指示
  • Swift 中的 AURenderCallback

    我正在创建一个使用音频单元的应用程序 虽然 Objective C 中有很多代码示例 包括 Apple 自己的 aurioTouch 等 但我正在尝试用 Swift 编写整个代码 我已经能够设置我的 AUGraph 并通过它运行一些音频 但
  • 如何获取 ios 日期数组中的所有星期日

    我只想要一个数组 它以 NSDate 的形式包含一年中的所有星期一 但速度很快 我在 Objective c 中使用以下代码 但不知道如何在 swift 中使用它 NSDate pickerDate NSDate date NSLog pi
  • 按照说明后“找不到您尝试购买的商品”

    所以我按照以下说明进行操作http developer android com google play billing billing admin html http developer android com google play bi

随机推荐

  • 如何查找两个日期之间的年份和月份差异?

    DateTime dayStart DateTime dateEnd TimeSpan ts dateEnt dateStart 打印 年和 月 我怎样才能计算它 net框架2 0 c ASP NET 项目 你应该首先阅读这篇文章 http
  • 如何创建指令以禁用 div 元素中的所有元素

    如何创建一个指令来禁用 div 元素中的所有元素 像这样的东西 div div
  • 在 Oracle 中运行的 Java - 导入的 jar

    我正在尝试将一个小型 java 类加载到 Oracle 11g 中 以便我可以运行它并从 PL SQL 调用它 我在本地机器上用 eclipse 编码并编译了该类 并且编译得很好 我把它打包成一个jar 它所依赖的其他jar文件也放在jar
  • 画一条线连接两个矩形

    我正在 Swing AWT 中制作自己的类图应用程序 但我停在了这个功能上 I want to draw a line between the Class rectangle that already selected and to the
  • Vue 3 Composition API - 类似选项卡的组件中的“子”数据

    我有一个适用于 Vue 3 和 Vue 2 的 TabGroup TabItem 组件 但它是在选项 API 中编写的 我正在创建一个新的轮播组件 它共享许多功能 但我尝试将其编写在 Composition API 中 因为这就是我们现在在
  • C++ 中 IsA() 有什么意义?

    我试图弄清楚为什么一些代码库使用 IsA 来确定对象多态性 如果在 C 中你已经可以安全地向上转换和向下转换 使用dynamic cast 到目前为止 我认为唯一有用的情况是当您集成链接到 C 代码库的脚本环境时 Thanks 原因很少 并
  • 使用 H2 Web 界面浏览 Corda 数据库表显示同义词错误

    我按照以下说明进行操作this https docs corda net node database html node database浏览 corda 数据库的链接 但是 当我查询表时 出现以下错误 Error Table SYNONY
  • 用静态库打包 Bundle

    我有一个包含一些 xib 的静态库 这些在项目中基本上是相同的 我想将 xibs 作为库的一部分 我可以包含他们的 veiwcontrollers 在调用项目中引用这些控制器 但是没有要加载的 xib 当我右键单击库项目中的 xib 时 它
  • 用于动态获取当前方法名称的较短方法[重复]

    这个问题在这里已经有答案了 我正在寻找一种方法来获取当前方法的名称 而无需创建空白对象 有没有办法做到这一点 这将整理我们的日志代码 这是我们现在要做的 new Object getClass getEnclosingMethod getN
  • 除非最终用户有 VS2008,否则 ClickOnce 下载失败

    我仍在解决所描述的问题here https stackoverflow com questions 760920 clickonce deployment error on upgraded net application 尝试让 Clic
  • 在没有开发者帐户的情况下测试应用内购买?

    是否可以在没有开发者帐户的情况下测试应用内购买以进行开发测试 如果不是 itunes connect 中的开发人员成员 我无法访问 sanbox 和功能 不 这绝对不可能 您将需要一个注册的开发者帐户
  • 如何强制焦点更改到 tvOS 中的特定视图?

    我正在实现自定义代码来处理 Siri Remote 上 菜单 按钮的点击 按下菜单按钮时如何强制焦点更改为自定义菜单 对于ios 10 您应该使用preferredFocusEnvironments而不是preferredFocusedVi
  • Proguard 设置不删除未使用的方法

    考虑下面的 android 代码结构 package blah class A class B public void foo String s 我如何告诉 proguard 不要删除或混淆 foo foo 是编译时代码中未使用的函数 但在
  • 如何将之前的时间戳保存到 Firebase FireStore

    我想将旧数据从不同系统迁移到 firestore 下面的命令保存当前时间戳 firebase firestore FieldValue serverTimestamp 我想存储旧的值 有什么办法可用吗 firebase firestore
  • LSH 是将向量转换为汉明距离的二进制向量吗?

    我读了一些关于 LSH 的论文 我知道它用于解决近似 k NN 问题 我们可以将算法分为两部分 给定一个向量D尺寸 其中D是大 的任何值 用一组翻译它N where N lt
  • 具有相同范围和离线 access_type 的第二次授权具有意外的权限对话框

    如果我在身份验证 URL 中指定 access type offline 并且用户尝试第二次身份验证 我会收到一个框 显示正在请求离线访问 我本以为它已经被授权 所以不需要额外的权限 有任何想法吗 Edit 更多信息 第一次它没有提到用户需
  • 如何在等高线图上绘制具有条件的数组?

    我使用下面的代码绘制了 GPP 的全球地图 lon 和 lat 都是 netCDF4 属性 形状分别为 144 和 90 而 gpp avg 是一个 numpy 数组 形状为 90 144 import numpy as np import
  • 如何:使用 maven2 进行数据库版本控制?

    我正在寻找任何用于版本控制数据库更改的 Maven 插件 有一些插件为此任务提供一些支持 Maven LiquiBase 插件 http www liquibase org manual maven Maven 数据库迁移插件 http c
  • .Rmd 文件打开时完全是空的

    在 RStudio 3 3 2 中打开 rmd 文件时 它们显示为完全空的 如果我使用记事本打开或在另一台计算机上打开 则会有文本 到底是怎么回事 有问题的 RMD 文件 https drive google com open id 0B
  • iOS - 恢复自动续订订阅

    我正在实施自动更新订阅 我有以下问题 订阅内容过期后 用户还能恢复吗 如果是这样 我如何验证它们并让它们下载 Look at 恢复自动续订订阅 https developer apple com library ios documentat