Apple拒绝了我的申请,理由如下: “app以非标准方式启动In App Purchase流程。
应用首先要求登录,这是错误的订单,而不是首先显示项目描述并在用户点击确定后要求登录。 “
我已经检查了我的代码,但它与我的其他应用程序相同,其中应用内购买正常。然后我更改了包ID和productID(从我的其他应用程序设置包ID),它运行正常!
我觉得这很奇怪。有人有这个问题吗?你能救我吗?
UPD:
在调试器中,我看到了这个错误:
“完成交易期间出现意外异常:无法完成购买交易”
此时代码发生在代码中:
@try
{
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
@catch (NSException *exception)
{
NSLog(@"Unexpected exception during finish transaction: %@", exception);
}
答案 0 :(得分:7)
您的错误消息似乎表明您正在尝试完成状态为SKPaymentTransactionStatePurchasing
的交易。
您应首先通过[transaction transactionState]
检查交易状态,以确保交易是:
SKPaymentTransactionStateFailed
SKPaymentTransactionStatePurchased
SKPaymentTransactionStateRestored
有关进一步说明,请参阅Apple文档:
您的应用程序应从收到付款队列通知的交易观察员调用此方法。调用finishTransaction:对事务将其从队列中删除。您的应用程序应该在完成处理事务并解锁用户购买的功能后才调用finishTransaction:
调用finishTransaction:对SKPaymentTransactionStatePurchasing状态中的事务抛出异常。
答案 1 :(得分:0)