2011-02-08 3 views
0

특정 iphone 응용 프로그램의 다운로드를 추적해야합니다. 나는 많은 것을 시도하고 우리가 AppStore에서 그것을 추적 할 수 있다는 것을 알았다. 하지만 내 응용 프로그램 자체에서 그걸 추적해야합니다. 따라서 응용 프로그램을 처음 시작할 때 발생하는 메서드를 식별 할 수 있도록 도와주십시오. 감사.iPhone 응용 프로그램을 처음 실행할 때 실행되는 대리자가 있습니까?

+1

의 중복 [메시지를 응용 프로그램이 실행되는 첫 번째 시간을 표시하는 방법?] (HTTP : //stackoverflow.com/questions/4209673/how-to-show-a-message-only-the-first-time-an-app-is-launched) 죄송합니다. 응답 전에 알지 못했습니다. – zoul

답변

5

첫 번째 응용 프로그램 시작시에만 발생하는 특정 메서드가 없습니다. 당신은 응용 프로그램 시작에 사용자의 기본 설정에서 플래그를 설정할 수 있습니다 - 그래서 플래그는 1 시간 동안 시작하는 응용 프로그램을 의미합니다 그 다음 존재하지 않는 경우 :

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    if (![[NSUserDefaults standardDefaults] boolForKey:@"AlreadyLaunched"]){ 
     // First launch logic 

     [[NSUserDefaults standardDefaults] setBool:YES forKey:@"AlreadyLaunched"]; 
     [[NSUserDefaults standardDefaults] synchronize]; 
    } 
    ... 
} 
+2

다운로드를 추적하는 데 도움이되지 않습니다. 앱이 "새로 설치"된 횟수 만 추적합니다. 사용자가 앱을 삭제하고 다시 동기화 한 다음 실행할 때마다 새로운 "새로 설치"됩니다. – Bogatyr

1

하지만 내 응용 프로그램 자체에서 추적해야합니다.

번호

하지만 당신이 정말로 이렇게 할 경우는 다음과 같이 사용할 수 있습니다 : 당신은 프로가있는 경우 YES 만에 키를 설정 감시에있는 경우

BOOL hasUsedSpyWareFunctions = [[NSUserDefaults standardUserDefaults] boolForKey:@"SpyWareKey"]; 
if (!hasUsedSpyWareFunctions) { 
    [self spyOnUser]; 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"SpyWareKey"]; 
} 

을 메서드가 성공적으로 반환되었습니다 (예 : 네트워크 연결을 설정할 수 있음)

0

적어도 하나, 그러한 이벤트가 없습니다를 그 I 에 대해 알다. 그러나 원하는 것은 NSUserDefaults을 사용하여 쉽게 할 수 있습니다. 간단하게 몇 가지 부울 플래그를 확인하고이 아니라면, 그것은 첫 번째 실행 그리고 당신은 플래그를 설정할 수 있습니다

NSString *const AlreadyRunKey = @"already-run"; 
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
if (![prefs boolForKey:AlreadyRunKey]) { 
    [prefs setBool:YES forKey:AlreadyRunKey]; 
    [prefs synchronize]; 
    // do whatever else you want 
} 
관련 문제