iOS
を使用して、ユーザーがアプリケーションを初めて開いたかどうかを検出することは可能Objective-C
ですか?
ユーザーが初めてアプリを開いたときにウェルカム メッセージを表示したいのですが、それ以降は表示されません。
私は次のようなものを探しています:
BOOL firstTime = [AppDelegate isFirstTimeOpeningApplication]
アプリの設定で何らかの値を探したり、ファイルの存在を探したりします。見つからない場合、アプリは初めて実行されているため、期待される値を設定に書き込むか、ファイルを作成して、次回アプリを実行するときに初めてではないことを認識できるようにします。
単なるフラグではなく、最初の実行の日時を保存すると、アプリが使用されてからの経過時間を判断できます。ユーザーが長い間アプリを使用していない場合、アプリを初回実行のように動作させたい場合があります。
この手法は、ユーザーがアプリを削除していない場合にのみ機能することに注意してください。アプリが削除されると、そのすべてのデータが削除されます。アプリが以前にそのデバイスで実行されたことがあるかどうかを知りたい場合は、後で削除されたとしても、独自のサーバーなどの別の場所でデバイスを識別するための情報を記録する必要があります。
「以前に実行した」フラグを に保存できますNSUserDefaults
。
- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *firsttime = [defaults stringForKey:@"firsttime"];
if (firsttime == nil) {
TheOtherViewController *Other = [[TheOtherViewController alloc] initWithNibName:nil bundle:nil];
Other.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[window addSubview: Other.view];
[defaults setObject:@"lasttime" forKey:@"firsttime"];
} else { [window addSubview:viewController.view];
[window makeKeyAndVisible];
}
}
NSUserDefaults を使用して、ユーザーが以前にアプリを起動したことがあるかどうかを示すフラグを保存します。flag .. の値が「IsFirstTimeLaunched」が false の場合、ユーザーが以前にアプリを起動していないことを意味します。