2013-05-03 1 views
5

사용자가 언제 내 앱을 처음 구매했는지 알고 싶습니다. 지금까지는 깨끗한 것을 발견하지 못했습니다. UDID가 유일한 옵션 인 것처럼 보였습니다.사용자가 앱을 구입/처음으로 설치 한 방법을 찾는 방법 (UDID없이 가능)

는 이상적으로는 StoreKit를 통해 얻을 수 있지만 지금까지 ..

나다

내가 뭔가를 놓친 영수증이있을 것입니다? 아무도 아이디어가 있니?


상황은 내가 구독하고 앱을 구매할 때부터 무료로 제공해야한다는 상황입니다. 내가 나중에 다시 설치하는 경우 .. 난 항상) 원래의 문제를 얻어야한다

예 : 는 인앱없는합니다 (10.2010 에서 응용 프로그램 I 설치 및 실행 무료로 10.2010에서 구독 문제를 얻을 구매 구입) 이제 앱을 삭제합니다 I 1.2013을 설치하면 10.2010의 구독 만 무료입니다! NOT 새로운 것

+0

키 체인에 플래그를 저장하십시오. –

+0

키 체인도 깨지기 쉽지 않습니다 ... ... 앱 삭제 전체에서 보존됩니까? 그리고 만약 내가 전화를 복원한다면 ^^ –

+0

그것은 비 휘발성이며 백업 된 것입니다. –

답변

5

그냥 키 체인에 플래그를 저장할 수 있습니다. 키 체인의 내용은 앱 재설치 전체에서 유지됩니다.

앱 바이너리가 디스크에 기록 된 것은 이번이 처음 때 확인 앱의 첫 번째 설치 시간을 효율적으로 활용하려면 다음

if (flag_in_keychain_not_present()) { 
    // installed for the first time 
    set_flag_in_keychain(); 

    struct stat st; 
    stat([NSBundle mainBundle].executablePath.UTF8String, &st); 
    time_t installed = st.st_mtime; 
} 
+0

"키 체인의 내용이 앱 재설치 전체에서 유지됩니다."라는 문서를 찾았습니까? ? 이 경우에 해당하는 것으로 보이지만 예상되는 동작임을 나타내는 문서를 찾을 수 없습니다. –

+0

@AndreasPaulsson Fair 충분히, 관련 문서를 검색 할 것입니다. 솔직히, 나는 이것을 어떻게 알았는지 더 이상 알지 못하지만 키 체인 **은 지속적입니다. –

+1

조심해! 위의 대답은 바이너리가 작성된 시간을 가져옵니다 ... 사용자가 장치에 설치 한 시간이 아닙니다.XCode에서 앱을 설치하고 디버깅하는 경우 앱은 동일하고 동일하지만 TestFlight 또는 앱 스토어를 통해 앱을 설치하면 그렇지 않습니다. – litso

1

가 아직 스토어 키트를 사용하지 않은,하지만 난 '경우 말해 m의 잘못은

1) 우리가 사용하는 모든 기기에이 구매를 검색 할 수있는 점에서 서버 나 다른

2) 우리가 "구매"그것을 사용 (하지 구독 또는 소모품) 뭔가가 필요 같은 iTunes 계정

내 포인트, 당신이 데이터베이스를 처음으로 저장하고 다음 번에 동일한 계정으로 호출 할 때 서버에서 처음 구매할 때 무료 제품에 해당하는 문제를 "사용"할 때 인앱 구매 무료 항목을 만듭니다.