2012-06-16 1 views
5

모든 트랜잭션을 반환하지 않습니다,하지만이를 호출 할 때 :StoreKit restoreCompletedTransactions 내가 내 테스트 사용자를 사용하여 비 소모품을 구입 한

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

나는 paymentQueueRestoreCompletedTransactionsFinished의 모든 트랜잭션을 볼 수 없습니다. 코드는 다음과 같습니다.

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 
{ 
    NSLog(@"received restored transactions: %i", queue.transactions.count); 
    for (SKPaymentTransaction *transaction in queue.transactions) 
    { 
     [self restoreTransaction:transaction]; 
    } 

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Your add-ons have been restored." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alertView show]; 
    return; 
} 

로그에는 항상 "수신 된 복원 된 트랜잭션 : 0"이 표시되지만 하나의 트랜잭션이 표시됩니다. 누구도 트랜잭션이 반환되지 않는 이유를 알고 있습니까?

+0

예상되는 동작은'paymentQueueRestoreCompletedTransactionsFinished :'콜백 이후 실제로 지불 대기열에 트랜잭션이 있어야한다는 것입니다. 나는 그것이 반대라고 생각했다. http://stackoverflow.com/questions/22303699/iap-receives-paymentqueuerestorecompletedtransactionsfinished-callback-with – hfossli

답변

7

갑자기 작동하기 시작했습니다. 나는 아이튠즈 커넥트에 들어가서 나의 제품에 대한 설명을 편집하여 상태가 "거절"에서 "보류"로 바뀌는 것만 바꾸었다. 이상한 점은 구매가 여전히 작동하고 (거부 된 상태에서도), 복원 만 작동하지 않는다는 것입니다. 변경 직후 복원을 시도했지만 작동하지 않았지만 지금 (약 20 분 후) 복원이 작동하고 있습니다. 보류 중으로 변경하면 (변경 후 StoreKit 서버에 전파 할 시간이 다름) 고정되어 있어야합니다. 그렇지 않으면 일시적인 StoreKit 버그 일종입니다.

+0

iTunes Connect의 변경으로 내 문제가 해결되었습니다. 고마워 - 내가 코드 오류가 있다고 생각하고 그것을 알아낼 수 없었다. – crgt

+0

단계별로 설명하면 무엇을 편집해야합니까? 인앱 상품 설명 또는 앱 설명? –