草庐IT

ios - 在 iOS 中使用 CloudKit 在 iCloud 中保留收据

#1我正在开发其中包含非续订订阅的iOS应用程序。我想让订阅在用户的所有设备上可用,并让用户恢复购买。如Apple文档中所述:Fornon-renewingsubscriptions,useiCloudoryourownservertokeepapersistentrecord.我不使用我自己的服务器,因为我的应用程序目前仅适用于iOS。所以iCloud似乎是更简单的解决方案。在观看和阅读了很多关于iCloud的WWDC视频和文档之后,对我来说最好的解决方案似乎是CloudKit,因为键值存储限制为1MB,我有很大的机会获得比这个更大的总数据大小用户(例如,经过一年的不同购买之后)。问

iphone - 如果我的非续订应用程序内购买收据在我的服务器上注册之前丢失了怎么办?

我目前正在实现不可再生的应用内购买,我有点担心以下情况(或其变体):用户购买了我的非续订应用内购买。我将收据保存到NSUserDefaults,但在我将其发送到我自己的服务器进行验证(和帐户功能激活)之前,用户失去了信号/我的服务器已关闭,同时破坏了他们的设备/卸载了我的应用程序(从而删除存储的NSUserDefaults)。据我所知,您无法像使用其他类型的IAP那样恢复不可续订的购买,因此用户已经损失了他们在该购买上花费的钱,因为我无法知道它曾经被购买过.我是不是遗漏了什么,或者我是否认为上述情况不太可能发生,所以我不必担心?谢谢 最佳答案

ios - iOS8 中的应用内购买收据验证

我们正在关注http://www.raywenderlich.com/23266/in-app-purchases-in-ios-6-tutorial-consumables-and-receipt-validation中的raywenderlinch教程但是在我们的项目中导入verificationController类时出现了一些错误。现在,我正在使用iOS8。Erroris:Implicitdeclarationoffunction'checkReciptSecurity'isinvalidinC99我也在苹果开发者网站上搜索验证类的示例代码,没有找到他们的页面。请给我您的解决方

ios - 应用内购买收据中 pending_renewal_info 属性的文档或含义?

有没有人在验证应用内购买的收据时遇到过pending_renewal_info属性,或者任何人都可以指出有关此字段的文档?我看过AppledocumentationforReceiptValidation但是没有看到我们的系统今天第一次遇到并标记为未知字段的对该字段的任何引用。我正在寻找任何信息以了解它的含义以及我应该采取的行动。 最佳答案 它被记录在https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Cha

ios - 直接从服务器访问 StoreKit 收据

我正在构建一个iOS应用程序,它提供我们网站已经提供的服务。这是一项基于订阅的服务,订阅后所有功能都会启用。为了让人们在应用程序上注册定期付款,我似乎必须通过Apple的应用程序内购买API,并自动续订订阅。这很好,但问题是用户将通过该应用程序购买的服务也必须在该网站上可用。但是通过阅读演练和开发人员指南,似乎处理交易的唯一方法是通过应用程序本身,然后可以将其设置为将信息传递到服务器。但后来我在想象这个场景:用户在iOS应用程序上购买订阅,在使用网站和iOS应用程序之间来回切换。在向用户收费的那天,以及之后的几天,无论出于何种原因,他们都只使用网站。服务器不知道他们已经被计费,因此功能

java - IOS 收据验证 IllegalArgumentException

我使用与问题中显示的代码类似的代码。JavaandAppStorereceiptverification但我还是得到了{"status":21002,"exception":"java.lang.IllegalArgumentException"}会不会是Base64编码的问题?我是否必须将base64编码的字符串转换为十六进制或其他格式?我发的跟下面的类似{"receipt-data":"eyJzaWduYXR1cmUiOiJBbjNJVER0VVNmZWNhaGMxR..... 最佳答案 问题出在Java中的Base64编码上。

ios - 在 App Store 收据中使用未记录的字段

好的,我正在开发一个应用程序,用户从AppStore购买该应用程序,可以访问该应用程序一年,然后在一年过去后,他们将被发送到应用程序内购买屏幕,在那里他们可以购买订阅以继续访问。(这不是我要实现的订阅模式,但客户坚持要遵循这种模式)不过,为了让它正常工作,我需要一种可靠的方法来检查应用程序的购买时间,以便计算第一年访问的结束时间。遵循其中一个答案中的建议...iOSAppPurchaseDate...我已经收到应用程序收据,我可以找到文档中提到的所有数据字段,但还有一些其他字段,包括“original_purchase_date”(不是IAP收据数组中的那个;一个用于应用程序收据本身)

ios - iOS 的 IAP 收据验证

我正在开发一个客户端/服务器应用程序,它使用ApplesIAP和StoreKit框架来购买订阅。我们希望客户端(iPhone或iPad)使用StoreKit框架通过他们的iTunes帐户向苹果进行初始订阅购买,然后将收据传递给我们的服务器,服务器将对其进行验证,然后更新用户帐户状态。我们还希望服务器负责管理订阅状态(检查自动续订、取消等)。这都是使用iOS7风格的appleReceipts,而不是目前已弃用的iOS6风格的交易收据。Apple的文档说要POST到以下URL以验证沙箱中的收据以及收据和密码https://sandbox.itunes.apple.com/verifyRec

ios - 验证 App 商店收据给出 DrmInvalidArgumentException

我正在关注此处的文档。https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html我有一份来self的团队的收据数据,我正在尝试验证,他们收到错误代码21002,这是格式错误的JSON。看起来他们在base64数据上附加了额外的参数,所以我尝试删除这些参数并发送:-(void)viewDidLoad{[superviewDidLoad];NSData*receipt;//Senttotheserverbythe

ios - iOS 应用收据何时不可用?

我想从应用程序的收据中读取原始应用程序版本。开发中的应用不包含收据,因为它不是从商店安装的。我需要启动SKReceiptRefreshRequest以获得沙盒收据。但这会提示用户登录。那么问题来了:如果应用程序是在生产环境中从应用商店下载的,它是否保证包含收据?因为如果没有,我将需要启动一个刷新请求,提示用户输入他们的凭据。我不想在没有上下文的情况下这样做。如果不可用,这种情况下的最佳做法是什么?将SKReceiptRefreshRequest合并到“恢复购买”例程中?PS:该应用仅适用于iOS9+。 最佳答案 编辑iOS应用收据何