我的SwiftyStoreKit框架有问题,我甚至不确定如何测试以查看是否已解决问题。当我使用沙盒帐户时,所有购买都可以正常进行。但是,当我将其提交到App Store时,他们拒绝了,因为他们说他们收到一条消息,内容为“无法检索产品信息-无效的产品标识符:com.rrtenz.puzzlesfromsurvivor2.unlockAll”。
我在下面提供了他们的屏幕截图以及问题描述的全文。
指南2.1-性能-应用完整性
在iPad上进行审核时,我们在您的应用中发现了一个或多个错误 在Wi-Fi上运行iOS。
从以下位置进行选择时,我们收到了附件错误消息 商店。
后续步骤
要解决此问题,请在设备上运行您的应用以识别任何 问题,然后修改并重新提交您的应用以供审核。
如果我们误解了您应用的预期行为,请回复 解决中心中的此消息以提供有关这些 功能是可以使用的。
对于新应用,请从以下位置卸载应用的所有以前版本: 设备,然后安装并按照步骤重现该问题。对于 更新,请安装新版本作为对先前版本的更新, 然后按照步骤重现问题。
资源
有关测试您的应用并准备进行审核的信息, 请参阅技术说明TN2431:应用测试指南。
有关网络概述,请查看关于网络。
该产品已添加到App Store Connect中,并且产品标识符匹配。
我不知道这是否重要,但是我的应用程序的捆绑包标识符为“ com.rrTenz。生存者之谜”,而我的产品标识符为“ com.rrtenz。 Puzzlesfromsurvivor2 .xxxxx”。
这是我的代码:
AppDelegate:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
SwiftyStoreKit.completeTransactions(atomically: true) { purchases in
for purchase in purchases {
switch purchase.transaction.transactionState {
case .purchased, .restored:
if purchase.needsFinishTransaction {
// Deliver content from server, then:
SwiftyStoreKit.finishTransaction(purchase.transaction)
}
// Unlock content
case .failed, .purchasing, .deferred:
break // do nothing
@unknown default:
fatalError()
}
}
}
return true
}
获取信息代码:
func getInfo(purchase: RegisteredPurchase) {
NetworkActivityIndicatorManager.NetworkOperationStarted()
SwiftyStoreKit.retrieveProductsInfo([bundleID + "." + purchase.rawValue], completion: {
result in
NetworkActivityIndicatorManager.NetworkOperationFinished()
if let product = result.retrievedProducts.first {
//handle info here
[...]
}else {
//error alert
[...]
}
})
}
输入购买代码:
func purchase(purchase: RegisteredPurchase) {
NetworkActivityIndicatorManager.NetworkOperationStarted()
SwiftyStoreKit.purchaseProduct(bundleID + "." + purchase.rawValue, completion: {
result in
NetworkActivityIndicatorManager.NetworkOperationFinished()
if case .success(let product) = result {
//update purchase variables here
[...]
}
//purchase complete alert
[...]
})
}
因此,如前所述,我不确定如何调试此问题,因为使用沙箱帐户时甚至无法复制该行为。如果任何人有任何建议或可以确定我在做什么错,我将不胜感激。