-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
for (SKPaymentTransaction* transaction in transactions)
{
CCLOG("transactionState = %ld", transaction.transactionState);
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[self completeTransaction:transaction];
break;
default:
break;
}
}
위 코드는 우리가 알고있는 구매 상태를 추적하기위한 것입니다. 그러나이 코드는 "앱내 구매가 이미 구매되었습니다"라는 이벤트를 추적하지 못하는 것으로 보입니다."앱내 구매가 이미 구매되었습니다"이벤트
[[SKPaymentQueue defaultQueue] addPayment:payment];
이미 구입하는 IAP를 구입하려면 위의 코드를 사용할 때마다, 대화 상자를 구입 IOS는 확인은 (출력은 "transactionState = 0")를 transactionState = SKPaymentTransactionStatePurchasing 함께 표시됩니다. 그런 다음 아이템을 구입하고 "앱내 구매가 이미 구매되었습니다"대화 상자는 다른 상태 코드 출력없이 보여줍니다.
위의 이벤트를보고 싶습니다. 잡을 수 있어야합니다. 이벤트가 다른 장소에서 던져 집니까?
제대로 작동하도록 했습니까? 이미 구입 한 항목에 대해 addPayment를 호출해도 콜백 이벤트가 반환되지 않는 비슷한 문제가 발생합니다. –
아니요, 오랜 시간 동안 솔루션을 찾지 못한 결과가 없습니다. 상황을 피하기 위해 내 애플 리케이션에 일부 자물쇠를 추가합니다. – ZeroZerg
어떤 종류의 자물쇠를 추가하셨습니까? – keyboard