首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在带有.storekit配置文件的Xcode12.2中,SKReceiptRefreshRequest总是失败

SKReceiptRefreshRequest是StoreKit框架中的一个类,用于刷新应用程序的收据信息。收据是App Store用于验证应用程序购买的凭证,包括应用内购买和订阅等。

在Xcode12.2中,如果SKReceiptRefreshRequest总是失败,可能是由于以下原因:

  1. 配置文件错误:首先,确保你的项目中包含正确的.storekit配置文件。该配置文件应该包含你的应用程序的Bundle Identifier和共享密钥等信息。检查配置文件的内容是否正确,并确保它与你的应用程序的Bundle Identifier匹配。
  2. 网络连接问题:SKReceiptRefreshRequest需要与App Store服务器进行通信来获取最新的收据信息。请确保你的设备或模拟器具有可靠的网络连接,并且没有任何防火墙或代理设置阻止了与App Store的通信。
  3. 应用程序状态:SKReceiptRefreshRequest只能在已发布到App Store的应用程序中使用。如果你的应用程序处于开发或测试阶段,并且尚未发布到App Store,那么SKReceiptRefreshRequest将无法正常工作。

如果你已经确认了上述问题,并且SKReceiptRefreshRequest仍然失败,那么可能是Xcode12.2中的一个bug。在这种情况下,你可以尝试以下解决方法:

  1. 更新Xcode版本:检查是否有Xcode的更新版本可用,并尝试升级到最新版本。新版本的Xcode可能修复了一些已知的问题和bug。
  2. 检查苹果开发者论坛:访问苹果开发者论坛,查看是否有其他开发者遇到了类似的问题,并寻找可能的解决方案或工作区。
  3. 提交反馈给苹果:如果你确定问题是由Xcode引起的,你可以向苹果提交反馈报告。在报告中详细描述你遇到的问题,并提供复现步骤和相关的设备和系统信息。苹果工程师可能会对你的反馈进行调查并提供解决方案或修复。

总结起来,如果在带有.storekit配置文件的Xcode12.2中,SKReceiptRefreshRequest总是失败,你应该检查配置文件的正确性、网络连接是否正常,以及应用程序的发布状态。如果问题仍然存在,可以尝试更新Xcode版本、查找苹果开发者论坛上的解决方案,或向苹果提交反馈报告。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

了解 StoreKit 2 新功能

接下来,应该创建一个 StoreKit 配置文件,以便在没有与 App Store 网络连接情况下测试应用内购买功能。...前往 “File -> New -> File” 并选择 “StoreKit Configuration File”。 可以创建一个仅本地配置文件,并将其填充为测试订阅和应用内购买项目。...最后一步是使用预定义 StoreKit 配置文件运行你应用程序。需要编辑项目的 scheme,并在运行部分选项标签中选择 StoreKit 配置文件。...现在,已经拥有一个完全配置项目,允许我们 Xcode 测试应用内购买。 构建支付功能 让我们开始构建我们支付功能,引入 Store 类型来处理与应用内购买相关所有逻辑。...StoreKit 将交易封装在 VerificationResult 类型,允许我们验证交易是否正确签名并来自 App Store。

28810

第一个开源库来啦!

: 根据商品 ID 去请求商品信息,并将 AppStore 返回商品信息回调给客户端去显示; 发起支付,如果支付失败,则发送回调信息给客户端,并提示支付失败;如果支付成功,则进入下一步验证票据; 提供本地验证票据...StoreKit payments queue : SKPaymentQueue.default().add(self) 获取商品信息 实例化对象: var purchaseXManager =...PurchaseXManager() 请求商品信息,该接口会先在本地去读取商品ID配置文件,并用数组形式保存,然后向 AppStore 请求商品信息。...requestProductsSuccess 时,表明商品信息请求成功,最终商品会被保存在 purchaseXManager 属性 products ,定义如下: // MARK: Public...此次分享仅仅是 1.0 版本,所以代码有些地方写不是很健壮,日后我会继续维护这个项目;另外,关于 iOS15 新 StoreKit2 也会尽快肝出来分享给大家。

79040

WWDC22 - In App Purchase 更新总结

,忽略了超过 60 天所有续费失败订阅。...原理是通过 Xcode 14 编译 app 时,会带上这些字段 app 包体,低系统用户更新包含这些字段版本时,就能使用。...图片 图片 StoreKit messages StoreKit Message API 只支持 iOS 16+,用于开发者 app 接收和显示 App Store 消息处理。...根据上述信息采取相应措施,例如,您可以 App 显示信息或发送电子邮件,提醒订阅者更新他们之前登记付款方式,并提供其 App Store 帐户“付款信息”区域链接。...如果订阅 60 天内续订,则付费服务天数从续订日期开始继续累积。 为避免由于账单问题而导致服务中断,请在 App Store Connect 启用账单宽限期。

4.4K90

苹果iOS内购三步曲:App内退款、历史订单查询、绑定用户防掉单!--- WWDC21

StoreKit 2 利用 Swift最新特性,包括 Swift并发 等新语言接口,简化App获取产品信息、商品产品、处理交易以及管理对内容和订阅访问。...[16239029565139.jpg] 所有的交易都可以用在所有的 StoreKit 接口;使用 StoreKit v1 购买记录, v2 接口也可以获取到;使用 v2 进行购买可在统一收据获得...小编注:目前2021-06-17, 苹果接口文档 还没有看到此接口,不清楚是没有更新,不是说开发.... [16239103707311.jpg] 返回格式也是一样。...点个赞~ [16239123644085.jpg] 目前 Human Interface Guidelines 人机设计文档看到苹果关于 App 给用户提供退款功能设计,目前情况来看,应该不是强制要求所有...其实,对于一般用户,开发者是不会限制用户退款,正常退款,但总是存在不合理情况,有恶意退款,一般游戏坏帐率有 5%以上,去年苹果提供退款通知开发者之前,甚至有 20% 以上。

11.5K20

StoreKit:iOS应用内推广其他App

StoreKit:iOS应用内推广其他App iOS应用,要推广其他App有两种途径,一种是直接跳转到AppStore软件对应App商品页,还有一种是在当前应用内内嵌一个App商品页。...相比第一种方式,第二种方式体验更好,并且不会打断用户对当前应用使用。 本篇文章,我们主要介绍StoreKit框架相关接口,使用StoreKit可以轻松在当前应用内推广其他App。...· 应用内打开其他App商品页 StoreKit框架中提供了一个名为SKStoreProductViewController类,此类事继承自UIViewController,因此我们可以像使用普通视频控制器一样来使用它...只要我们提供了某个应用ITunes ID,就可以轻松应用打开其AppStore商品页。...,有时候,我们更期望要推广应用只是占据一个挂件位置,iOS 14及之后版本StoreKit框架中提供了SKOverlay类来实现应用挂件。

2.9K40

Xcode 12 使用技巧

6 搜索查看 Find navigator 面板里搜索某个内容时,如果出现多个结果,使用完一个结果时可以使用 Backspace 剔除该结果,这样剩下都是未操作过搜索结果。... Info 选项卡,单击 Options,然后选中 Randomize Execution Order,这样进行测试时每次都会以不同顺序运行。...18 运行最后一次测试 编写失败测试很常见,Xcode 有一个快捷键可以只运行最后一个测试:Ctrl+Opt+Cmd+G。...22 内购测试 可以没有 App Store Connect 情况下测试应用内购买。创建一个新 StoreKit Config 文件,并添加 IAP。...然后进入菜单 Product,按住 Option 然后点击 Run,弹出窗口 Options 选项卡,更改 StoreKit Configuration 为添加 StoreKit Config

1.6K20

苹果 IAP 新特性之启用服务端到服务端通知

使用服务器到服务器通知服务虽然是可选,但建议使用,特别是跨多个平台提供订阅服务且需要保持订阅记录更新情况下。...设置服务器后,您可以随时通过 App Store Connect 添加服务器 URL 来开始接收通知。 将通知与收据验证一起使用可以验证用户的当前订阅状态,并根据该状态为他们提供服务或促销优惠。...•App Store Connect为您应用程序配置订阅状态URL。 接收服务器到服务器通知 App Store 会通过 HTTP POST 方式 将 JSON 对象传递到您服务器。...•如果发送失败,请发送 HTTP 状态码 50x 或 40x 以使 App Store 重试该通知。App Store 一段时间内尝试重试该通知,但在连续失败尝试后最终停止。...使用最新信息处理事件 一旦启用服务器到服务器通知后,您将获得有关订阅状态最新信息。处理事件时,请同时使用通知和最新收据: •应用,通过 App Store 验证最新收据。

80220

WWDC21 - App Store Server API 实践总结

iat超过 60 分钟过期令牌无效(例如:1623086400) aud Audience,受众 固定值:appstoreconnect-v1 nonce Unique Identifier,唯一标识符...另外 Apple 不保留私钥副本,将您私钥存放在安全地方。 注意:将您私钥存放在安全地方。不要共享密钥,不要将密钥存储代码仓库,不要将密钥放在客户端代码。...[AppStoreServerAPI-06.jpg] API密钥有两个部分:苹果保留公钥和您下载私钥。开发者使用私钥对授权 API App Store 访问数据令牌进行签名。...,status 类型: 1:有效 2:过期 3:账号扣费重试 4:账号宽限期(这个是开发者设置,比如到期扣费失败时,可以给用户延期多长时间。)...通过苹果开发者论坛找到了线索: Validate StoreKit2 in-app purchase jwsRepresentation in backend 简单来说,JWS x5c 头字段包含一个证书链

10.5K31

iOS之深入解析Xcode 13正式版发布40个新特性

ALLOW_TARGET_PLATFORM_SPECIALIZATION 设置为 YES,将框架配置为单个构建操作为多个平台构建; 可以构建阶段使用平台过滤器,并为所有支持平台定位依赖项; 当发生构建失败时...,xcodebuild 现在会在构建日志末尾摘要显示每个失败命令目标和项目名称; 当脚本阶段或自定义构建规则声明不属于构建输入一部分,且未声明为构建中任何其他任务输出依赖项输入依赖项时,构建系统会发出警告...; 适用于 macOS 12 应用程序,您可以使用属性检查器 localize 属性非系统 NSMenuItem 上配置本地化等效键选项; iOS 15 应用程序,可以使用属性检查器...二十三、Static Analyzer 静态分析器现在警告带有副作用断言、无限循环和更多 C++11 std::move 误用情况。...二十四、StoreKit Xcode StoreKit 测试支持对使用 StoreKit现代基于 Swift API 构建应用内购买进行全面测试。

8.7K40

Swift 周报 第三十六期

而苹果公司交流也表示,印度是非常重要生产地和消费市场,乐于扩大印度市场产能,但希望能获得更多补贴,以及政策福利。...详细设计 这些要求可以声明时类型检查器强制执行。 源兼容性 由于增加了限制,因此使用严格并发检查时可能需要更改某些类型声明。...某种程度上不鼓励类去初始化依赖共享可变状态,并且强烈不鼓励依赖与常规代码副作用相关顺序。即使没有优化,它通常也会很棘手并且容易出错。...很快,我希望所有局部变量都具有“消耗”效果。 推荐博文 掌握 StoreKit2[10] 摘要: 本文介绍了 Swift StoreKit2,这是一个用于构建应用内购买和订阅框架。...文章从配置项目和创建 StoreKit 配置文件开始,介绍了如何使用 Store 类型处理应用内购买逻辑。

21520

iOS IAP应用内购详细步骤和问题总结指南

程序从信息获得数据,并发送至服务器。 服务器纪录数据,并进行审(我们)查。 服务器将数据发给App Store来验证该交易有效性。...工具栏,点按“功能”,然后左列中点按“App 内购买项目”。 若要添加 App 内购买项目,请前往“App 内购买项目”,并点按“添加”按钮(+)。...就是玩家被扣费了,也收到appstore消费收据了,却依然没收到游戏道具,于是投诉到游戏客服处。 这种情况以往经验也会出现,常见玩家和游戏运营商发生纠纷。...**A:**先看一下官方文档怎么说生成收据验证代码 为了验证自动续期订阅时提高您 App 与 Apple 服务器交易安全性,您可以收据包含一个 32 位随机生成字母数字字符串,作为共享密钥。...点击下面展开就可以看到共享密钥生成方式 Q:沙箱技术测试人员添加不成功 总是提示邮箱错误 A: 沙箱技术测试账号用于付款测试 任意未创建过Apple ID 邮箱都可以 假邮箱也可以 重要是密码格式一定要包含大小写

9.1K12

iOS内购(IAP)自动续订订阅类型总结

示例:钓鱼 App 鱼食。 非消耗型商品:只需购买一次,不会过期或随着使用而减少产品。 示例:游戏 App 赛道。 自动续期订阅:允许用户固定时间段内购买动态内容产品。...: 首先要引入苹果内购必须要一个库 StoreKit #import (1) 开始调起支付流程,请求商品信息,这里需要用到 SKProductsRequestDelegate...Upgrades and Plan Changes升级和计划变更 用户可以App Store或您应用界面帐户设置管理他们订阅。...App Store会多次尝试一段时间内自动续订订阅,但如果尝试失败次数过多,最终会停止。 注意: 对于与帐单相关问题,App Store可能会尝试续订最多60天订阅。...您可以收据检查订阅重试标记,以确定App Store是否仍在尝试续订订阅。 3. Cancellation消除 订阅购买时全额支付。用户只能通过联系Apple客户服务获得退款。

11.7K62

WWDC20全球开发者大会上开发者必须了解这些事

此话一语双关即说明凌晨 1 点钟观看大会不晚,也表达了苹果欢迎更多开发者加入苹果生态。 本次 WWDC 是自 33 年前开始举办以来首次全线上发布。...---- 管理和发展开发商业务 Xcode 中新 StoreKit 工具使开发者可以 Mac 上本地模拟订阅设置,应用内购买甚至退款。...还有一个新 StoreKit 测试框架,使开发者可以轻松地自动执行购买工作流程测试。有关订阅续订事件和客户退款新 App Store 服务器通知可帮助开发者更好地管理其应用程序客户体验。...Xcode 12 默认情况下会构建 macOS Universal 应用程序,以支持带有 Apple 芯片新 Mac。...今年,新生命周期 API 使开发者可以 SwiftUI 编写整个应用程序,并在所有 Apple 平台上共享该代码。

1.2K20

Nginxlocation规则迷之匹配

Nginx,一个改变世界软件,其作者是一个俄罗斯人,俗称毛子,国人印象,是一群晚饭后牵着大灰熊小区楼下散步彪汉。能写出这般顺滑软件,可谓是心有猛虎细嗅蔷薇典型代表啊。...这就说明了location 执行逻辑跟 location 配置文件里面的编辑顺序是有关系。...上面的话换个说法: Nginx服务器会首先会检查多个location是否有普通uri匹配,如果有多个匹配,会先记住匹配度最高那个。...如果正则匹配全部失败,就会使用刚才记录普通uri匹配度最高那个location块处理此请求。...sbin/nginx -s reload 当配置文件如上所示时: 这里,有同学就会有疑问了,这不对啊,这不应该是匹配到带有本地土著光环"^~"段吗?

3.4K20

【涂鸦板】海明威《老人与海》--王小波

每一个人都会遇到这样限度,仿佛是命运向你发出停止前行命令。 可是老人没有沮丧,没有倦怠,他继续出海,向限度挑战。他终于钓到了一条鱼。如同那老人是人中英雄一样,这条鱼也是鱼英雄。...鱼把他拖到海上去,把他拖到远离陆地地方,在海上与老人决战。在这场鱼与人恶战,鱼也有获胜机会。鱼水下坚持了几天几夜,使老人不能休息,穷于应付,它用酷刑来折磨老人,把他弄得血肉模糊。...一个常常在进行着接近自己限度斗争的人总是会常常失败,一个想探索自然奥秘的人也常常会失败,一个想改革社会的人更是会常常失败。...人类本身也有自己限度,但是当人们一再把手伸到限度之外,这个限度就一天一天地扩大了。人类与限度斗争成长。他们把飞船送上太空,他们也用简陋渔具加勒比海捕捉巨大马林鱼。这些事情是同样伟大。...强者带有人性强悍一面,弱者带有人性软弱一面。强者为弱者开辟道路,但是强者往往为弱者所奴役,就像老人是为大腹便便游客打鱼一样。

24120

Linkerd 2.10(Step by Step)—配置重试

如何配置外部 Prometheus 实例 Linkerd 2.10 中文手册持续修正更新: https://linkerd.hacker-linner.com 重试 对于幂等且没有主体路由,您可以编辑服务配置文件...可以通过 service profile 上设置 retryBudget 来调整这些设置。...spec: retryBudget: retryRatio: 0.2 minRetriesPerSecond: 10 ttl: 10s 监控重试 可以使用带有 --to 标志和...由于重试是客户端执行,我们需要使用 --to 标志来查看一个资源发送到 另一个资源请求指标(从服务器角度来看,重试只是常规请求)。...由于原始请求可能第一次失败,但该请求重试可能会成功, 因此有效成功率(effective success rate) 通常(但不总是)高于实际成功率(actual success rate)。

43220

应用程序内购买教程:入门

这会将您应用与您应用内购买产品相关联。登录Apple开发人员中心,然后选择证书,ID和配置文件。 ? image 接下来,选择标识符>应用程序ID,然后单击右上角+以创建新应用程序ID。 ?...您可以采用一种策略是测试成功案例之前尽可能多次测试失败案例。这样你就需要创建更少沙盒测试器。一般情况下,请记住,一旦用户(甚至是沙盒)购买了非消耗性IAP,他就不能再次购买,只能恢复它。...它还会在该事务中发布通知,以便应用程序任何感兴趣对象都可以监听它以执行更新用户界面等操作。最后,成功或失败情况下,它将交易标记为已完成。 剩下就是IAPHelper作为支付交易观察员。...StoreKit API扩展,替换restorePurchases()为以下内容: public func restorePurchases() { SKPaymentQueue.default...StoreKit API扩展,使用以下行替换return语句canMakePayments(): return SKPaymentQueue.canMakePayments() 产品单元格行为应根据返回值而有所不同

5.4K20

招式修炼-redis事务和发布订阅

discard 指示事务丢弃 Redis 事务可以一次执行多个命令, 并且带有以下三个重要保证:批量操作发送 EXEC 命令前被放入队列缓存。...收到 EXEC 命令后进入事务执行,事务任意命令执行失败,其余命令依然被执行。事务执行过程,其他客户端提交命令请求不会插入到事务执行命令序列。 事务执行示例: ?...②执行错误 如果命令事务执行过程中发生错误,比如说,对一个不同类型 key 执行了错误操作, 那么 Redis 只会将错误包含在事务结果, 这不会引起事务中断或整个失败,不会影响已执行事务命令结果...隔离性 Redis 是单进程程序,并且它保证执行事务时,不会对事务进行中断,事务可以运行直到执行完所有事务队列命令为止。因此,Redis 事务是总是带有隔离性。...事务执行过程不会被中断,所有事务命令执行完之后,事务才能结束。 多个命令会被入队到事务队列,然后按先进先出(FIFO)顺序执行。

49220
领券