内购沙箱测试自己测试通过,苹果审核被拒

小熊翻译App(macOS和iOS)提醒您:

  1. bug出现原因
使用第三方库 SwiftyStoreKit,在获取收据时报错: Error Domain=SKErrorDomain Code=0,

  1. bug定位
bug出现,却难以定位,最终通过再次提交审核,在报错处加上弹窗,让苹果截图,同时后端写一个接口记录报错,以保证记录住错误原因

通过报错,检查代码,重新走一遍支付过程,根据苹果截图,苹果审核人员在点击ok时失败,查找到获取收据时报错
通过苹果审核人员截图报错的弹窗内容`Error Domain=SKErrorDomain Code=0`,网上搜索到
`https://github.com/bizz84/SwiftyStoreKit/issues/589` 这个SwiftyStoreKit的issues链接,报错出添加下面一段代码即可解决:

case .error(let error): 方法里添加下面的方法再次获取一遍凭证
 if let appStoreReceiptURL = Bundle.main.appStoreReceiptURL, FileManager.default.fileExists(atPath: appStoreReceiptURL.path) {
      do {
          let receiptData = try Data(contentsOf: appStoreReceiptURL, options: .alwaysMapped)
          print(receiptData)
          let receiptString = receiptData.base64EncodedString(options: [])
      } catch {
          print("Couldn't read receipt data with error: " + error.localizedDescription)
     }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容