2010-12-28 4 views
4

일부 인앱 구매 항목을 구현할 계획이며 구매 정보/데이터를 저장하여 고객이 동기화 할 때 iTunes가 해당 정보를 백업하도록하고 싶습니다. Apple이 제공 한 문서에 이것이 가능하다고 나와 있지만 실제로 어떻게되는지 알려주지는 않습니다.iOS - 인앱 구매 데이터를 저장하는 방법은 무엇인가요?

/어떻게 구매 내역을 저장할 수 있습니까 (예 : 각 항목에 대해 NSString이라고 가정). 다음 동기화에서 iTunes가 백업 할 것입니다.

마지막으로,이 모든 것을 실시간으로 만들기 전에 어떻게 테스트 할 것을 제안 하시겠습니까?

감사합니다.

P. 지금은이 정보를 저장하기 위해 NSUserDefaults를 사용하고 있습니다.

답변

9

NSUserDefaults은 그런 종류의 저장에 적합하지만 StoreKit의 "구입 한 항목 확인"기능을 사용해야합니다. 인앱 구매를 사용하는 많은 앱은 '구입 한'상태를 확인하는 버튼을 가지고 있습니다. 사용자가 앱을 제거했다가 다시 설치하거나 다른 기기에 설치하는 경우 앱에서 사용 가능한 제품을 다시 활성화 할 수 있습니다.

샌드 박스 환경을 사용하여 인앱 구매를 테스트 할 수 있습니다. iTunes Connect를 사용하면 모든 앱의 인앱 구매에 무료로 액세스 할 수있는 테스트 iTunes Store 계정을 설정할 수 있습니다.

+0

감사합니다. 따라서 NSUserDefaults는 iTunes에서 백업됩니까? 개발자가 "응용 프로그램 환경 설정"에 저장하면 사용자가 NSUserDefaults를 의미하는 정보를 백업 할 수 있다고 설명서에서 언급했기 때문에 묻습니다. 다시 한번 감사드립니다. – RyanM

+1

예, NSUserDefaults = 앱 환경 설정. –

+1

그러나 루트가 지정되지 않은 장치에서 무료 도구로 파일을 편집 할 수 있으므로 유효성을 확인하지 않고 사용자 수정 가능 파일에 구매와 같은 중요한 정보를 쓰는 것은 매우 바람직하지 않습니다. – Sirens

4

사실 NSUserDefaults

에서
<Application_Home>/Library/Preferences 

입니다 그리고 Library 디렉토리는 iTunes에서 백업됩니다.

앱 구매 데이터를 저장하는 또 다른 방법은 키 체인에 저장하는 것입니다. 키 체인은 안전하며 앱을 삭제할 때 예약됩니다. 따라서 사용자가 앱을 다시 설치하면 사용자가 즉시 구매할 수 있습니다. 이 링크를 확인하십시오 : Lockbox: Easily Secure Your App’s Sensitive Data