2011-02-08 3 views
5

사용자가 구매 버튼을 클릭하면 "기다려주십시오"보기가 나타나고 결제 대기열에 결제가 추가되도록 인앱 구매가 설정되었습니다. 이것은 항상 트랜잭션이 "Purchasing"상태에 들어 갔음을 알리는 큐 관찰자의 즉각적인 콜백을 유발합니다.SKPaymentTransactionObserver가 앱 스위치에서 콜백을받지 않음

구매 확인 대화 상자가 나타나기 전에 사용자가 주 화면으로 돌아와 내 문제를 해결하면 내 문제가 발생합니다. 응용 프로그램으로 다시 전환하기 전에 잠시 메인 화면에서 기다리면 응용 프로그램에서 트랜잭션 전환 상태 나 제거되는 콜백을 전혀받지 못합니다. 지불 대기열을 검사하면 트랜잭션이 아직 "구매 중"상태 인 대기열에 있음을 알 수 있습니다. 애플리케이션을 다시 시작한 후 콜백하고 대기열에서 제거하도록 할 수있는 방법이 있습니까? 상황이 제대로,이 문제가 발생했습니다 내가 이해하면

+0

같은 문제가 있습니다 ... 문제를 해결할 방법을 찾았습니까? – nico

답변

5

는 :

In App Purchase user cancels tx while app in background: tx state stays on purchasing

이 애플의 스토어 키트에서 버그가 수 있도록 나타납니다. 구매를 시작한 직후 백그라운드로 앱을 보낸 다음 구매 확인 팝업이 표시되면 취소 버튼을 누르면 문제를 쉽게 재현 할 수 있습니다. 앱은 거래 실패 (취소) 알림을받지 않으며 차단 된 상태가됩니다 (구매가 완료 될 때까지 사용자가 앱과 상호 작용하지 못하도록 UI를 사용 중지 한 경우).

Apple의 수정을 기다려야합니다. 그동안 구매를하면서 UI를 사용 중지하여 앱이 차단 된 상태가되는 경우 사용자가 그 상태를 떠나도록 허용하는 메커니즘을 구현해야합니다.

행운을 빈다.

+0

글쎄, 고마워. 적어도 나는 유일한 사람이 아닙니다. –

0

그러나 동일한 문제가 있지만 샌드 박스 앱 스토어 계정을 사용할 때만 재현 할 수있었습니다.

누군가 진짜 사과 계좌를 사용하여 복제 할 수 있습니까?

아직 시도하지는 않았지만 앱이 포커스를 잃는 순간 내 SKPaymentTransactionObserver를 제거하고 다음에 활성화 될 때 다시 추가하려고 생각하고 있습니다.

이 버그에 대한 이상한 점은 구매 상태의 거래로 인해 고생한다는 것입니다.하지만 앱을 제대로 종료하고 다시 시작하면 구매 상태의 거래가 여전히있을 것으로 예상됩니다. 그렇지 않습니다 ... 마치 SKPaymentTransactionObserver를 다시 추가하면 상태가 적절하게 다시 평가됩니다.

관련 문제