2012-09-26 2 views
0

iOS 기기에 내 앱을 새로 설치합니다. (GC 계정에서 서명하여 삭제했습니다.)iOS에서의 iAP에서 예기치 않은 동작이 발생했습니다.

앱 출시 후 'paymentQueue: updatedTransactions:'이 호출됩니다. 그것은 transactionState' == SKPaymentTransactionStatePurchased과 하나의 거래가 있습니다. (그것은 내 앱이 가지고있는 유일한 아이팩이다.)

그런 다음 GC 샌드 박스 로그인 ViewController가 표시됩니다.

iTunes 계정이나 GC 계정으로 로그인하지 않은 경우 iAP 개체가 Bought 상태가되는 이유는 무엇입니까?

저는 Game Center에 로그인하지 않았습니다. 그러나 iTunes Store Sandbox 계정으로 로그인하는 것에 대해서는별로 확신 할 수 없습니다. (심지어 존재합니까?) 그렇다면 어떻게 로그 오프합니까?

내 앱의 '복원'버튼을 테스트 할 수 있기를 원하지만 함수가 이미 호출되어 항목이 구입 한 것으로 표시되면 ... 할 수 없습니다. 왜 함수가 호출 되나요? 옵서버를 SKPaymentQueue에 추가 하시겠습니까? 완료되지 않은 거래를 확인 하시겠습니까? 하지만 iTunes 계정에 로그인하지 않아야하므로 그렇게해서는 안됩니다 ...

제발, 당신이 가지고있는 아이디어를 말해주십시오, 이것이 나를 미쳐 가고 있습니다.

+0

SKPaymentTransactionStatePurchased 트랜잭션을 사용하여 아무 것도 로그인하지 않고 iTunes Store 및 GC에서 로그 아웃하지 않고 함수가 왜 호출되는지 이해할 수 없습니다. –

+1

/mark-as를 확인하지 못할 수도 있습니다. - 이전 거래가 전달 되었습니까? 그렇다면 시스템은 다시 게시합니다. – Ertebolle

+0

아마도 그 일을해야한다는 것을 몰랐기 때문에 아마도 .../ –

답변

1

거래가 처리 된 후 [SKPaymentQueue finishTransaction:]에 연락하지 못하는 것 같습니다. IAP 시스템은 사용자가 수행 할 때까지 모든 시작시 트랜잭션을 계속 전달하려고 시도합니다. 따라서 거래 처리가 끝났을 때 그 전화를 추가하면 모든 것이 설정되어야합니다.

+0

정확히 무슨 일이 있었는지, 고마워! –

관련 문제