我需要跟踪某个iphone应用程序的下载。我尝试了很多,发现我们可以从AppStore跟踪它。但我需要从我的应用程序本身跟踪它。所以请帮我确定第一次启动应用程序时触发的方法。感谢。
答案 0 :(得分:5)
没有特定方法仅在第一次应用程序启动时触发。您可以在应用程序启动时在用户默认值中设置一个标志 - 所以如果该标志不存在那么这将意味着该应用程序第一次启动:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
if (![[NSUserDefaults standardDefaults] boolForKey:@"AlreadyLaunched"]){
// First launch logic
[[NSUserDefaults standardDefaults] setBool:YES forKey:@"AlreadyLaunched"];
[[NSUserDefaults standardDefaults] synchronize];
}
...
}
答案 1 :(得分:1)
但我需要从我的应用程序本身跟踪它。
没有
但如果你真的想这样做,你可以使用这样的东西:
BOOL hasUsedSpyWareFunctions = [[NSUserDefaults standardUserDefaults] boolForKey:@"SpyWareKey"];
if (!hasUsedSpyWareFunctions) {
[self spyOnUser];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"SpyWareKey"];
}
如果您是间谍的专业人士,只要方法成功返回(即可以建立网络连接),您只需将密钥设置为YES。
答案 2 :(得分:0)
没有这样的事件,至少没有我所知道的事件。但是你可以使用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
}