2011-02-08 8 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

最初のアプリケーションの起動時にのみ起動する特定のメソッドはありません。

- (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にキーを設定スパイProである場合

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

をメソッドが正常に返されました(つまり、ネットワーク接続が確立された可能性があります)

0

このようなイベント、I少なくともない1決してありません:1回目のために立ち上げ、そのアプリケーションを意味することをそのようにフラグが存在しない場合 - あなたは、アプリケーションの起動時にユーザデフォルトにフラグを設定することができます知ってる。しかし、あなたが望むものは、たぶん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 
} 
関連する問題