iphone - 구현 - ios receipt sample




앱 스토어 킷(StoreKit In App) 잘못된 제품 식별자 구매 (11)

가능한 중복 :
iPhone StoreKit - 잘못된 제품 ID

SKProductsRequest 에서 제품 식별자가 SKProductsRequest 있습니다.

나는 다음 단계를 수행했다 :

  1. iTunes Connect의 '사용자 관리'에서 인앱 구매 테스트 사용자 계정 생성

  2. 'App In Purchases 관리'아래에 앱 구매 제품 중 일부를 만들었습니다.

  3. 앱을 iPhone에로드하고 설정 → 스토어로 이동하여 일반 상점에서 로그 아웃했습니다.

  4. (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 대한 중단 점 설정 (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 콜백

제출 된 모든 제품 ID는 응답의 invalidProductIdentifiers 속성에 있습니다. 요청을 제출할 때 2 단계에서 생성 된 Product ID와 번들 ID가 앞에 붙은 ID를 모두 시도했습니다.

미리 감사드립니다.

라구


Settings.app에서 AppStore에서 로그 아웃 했습니까? 로그 아웃 한 경우에만 다시 로그인하라는 메시지가 표시됩니다.

앱 ID에 인앱 구매가 사용 설정되어 있습니까? 와일드 카드 (*)가있는 앱 ID는 인앱 구매에 사용할 수 없습니다. 앱의 경우 새 앱 ID를 만들어야합니다.

내 두 센트는 여기에 ... http://blog.mugunthkumar.com/coding/iphone-tutorial-%e2%80%93-in-app-purchases/


xcode의 "제품 이름"이 iTunes Connect에 제출 된 응용 프로그램과 동일한 지 확인하십시오.


나는 15 가지의 비 소모품을 가지고있다.

갑자기 15 대가 내 장치 중 하나 (iPod Touch 4G)에 '유효하지 않은'것으로 나타나기 시작했지만 다른 장치 (iPhone 4S)에서는 유효합니다. 정말로 이상한.

내가 삭제 / 다시 설치하고 지금은 잘 작동합니다.

누군가 Xcode에서 실행해야한다고 말했지만, 반드시 그런 것은 아닙니다 . AdHoc 빌드 및 테스트 사용자 계정을 가진 많은 베타 테스터가 있으며 대부분은 OK를 구매할 수있는 것 같습니다.

즉, 전체 샌드 박스 환경은 언제나 불안정하며 많은 "다운 타임"이 있습니다. 때로는 기다리는 것이 답입니다.


나는 애플 포럼과 여기에 제안 된 모든 것을 시도해 보았지만 아직도 작동시킬 수 없었다. 솔루션을 찾았습니다 - 샌드 박스를 활성화하려면 Xcode에서 앱을 전송해야합니다.

당연하지, 그렇지? 기존 응용 프로그램에 대한 업데이트로 작업하는 경우 장치는 App Store에 설치된 응용 프로그램으로 처리합니다.

따라서 기기에서 앱을 삭제하십시오. 그런 다음 Mac에 연결된 장치로 빌드 및 실행을 사용하여 장치에 다시 응용 프로그램을 설치하십시오. 그것은 지금 작동해야합니다 :)


나는 오늘 이런 종류의 문제를 일으킬 수있는 또 다른 것을 발견했다. 이상한 이유로 인해 앱이 손상되고 모든 것을 잘못 구매하려고 시도하는 경우가 있습니다. 장치에서 응용 프로그램을 삭제하고 Xcode에서 빌드를 정리 한 다음 장치에 다시 빌드하여 문제를 해결했습니다.



사람들이 제품 ID를 혼동하는 것 같습니다.

InApp가 작동하려면 전체 도메인 (예 : com.company.product.inappname)을 추가 할 필요가 없습니다.

반드시 iTunes Connect에서 생성 한 정확한 제품 ID를 사용해야합니다. 제 경우에는 "Product1"을 만들었고, SKProductsRequest가 호출되었을 때이 것을 사용했습니다.

더 이상 고통스럽지 않습니다.

이 링크에는 많은 유용한 정보가 있지만이 작은 세부 정보가 없습니다. http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/


우리 문제는 Apple의 FAQ에서 " 왜 내 제품 식별자가 invalidProductIdentifiers 배열에 반환 되는가? "라는 마지막 글 머리 기호였습니다.

  • 귀하는 모든 재정적 요구 사항을 완료하지 않았습니다 (이 문서의 "계약, 세금 및 뱅킹 정보"섹션 참조).
  • 명시 적 앱 ID를 사용하지 않았습니다.
  • 명시 적 앱 ID와 연결된 프로비저닝 프로파일을 사용하지 않았습니다.
  • 코드에서 올바른 제품 식별자를 사용하지 않았습니다. 제품 식별자에 대한 자세한 내용은 기술 Q & A, QA1329, 'In App Purchase Product Identifiers'를 참조하십시오.
  • iTunes Connect에서 판매중인 In App Purchase 제품을 삭제하지 않았습니다.
  • 제품을 수정했을 수도 있지만 이러한 변경 사항은 아직 모든 App Store 서버에서 사용할 수있는 것은 아닙니다.
  • 귀하 또는 App Review가 iTunes Connect에서 가장 최근의 바이너리를 거부 한 경우.

iTunes Connect에서 "Ready to Upload Binary"를 클릭하여 "Upload For Upload"로 가장 최근 버전 (거부 된 버전)을 변경했으며 약 10 분 후에 문제가 해결되었습니다.


응용 프로그램이 다른 언어로 다른 제목을 가지고 있다면 iPhone 언어를 영어로 설정하지 않으면이 문제가 발생한다는 것을 알았습니다. 개발 과정에서만 발생합니다. 생산에 문제가없는 것 같습니다.


잘못된 제품이 반환 된 후 하루 정도 고생하고 나면 구매 항목이 "개발자 승인 판매"임을 확인하는 해결책이 나왔습니다. '판매 허가'라는 항목 옆에 녹색 표시가 있었지만 여전히 스크린 샷을 업로드하고 승인을 선택해야했습니다.

이것은 내가 여전히 내 애플 리케이션을 테스트하고 아직 그것을 판매 할 준비가되지 않았다는 것을 고려할 때, 일을하는 거꾸로 비논리적 인 방식처럼 보인다.


제품 이름을 iTunes Connect에 제출 된 동일한 이름으로 설정하면 해결되었습니다.





storekit