Tôi đang tạo một ứng dụng mà trong đó tôi phải tạo một plist khi ứng dụng khởi chạy lần đầu tiên. Sau đó tôi sẽ sử dụng plist để lưu trữ chi tiết người dùng sau đó nhập vào. Làm thế nào tôi có thể phát hiện ra mắt đầu tiên của ứng dụng? Tôi đã thử nghiệm với NSUserDefaults nhưng tôi nghĩ rằng tôi đang làm điều gì đó sai trái.Phát hiện lần chạy đầu tiên của ứng dụng
Trả lời
Bạn có thể làm điều này với NSUserDefaults. Nhưng hãy cẩn thận với số phiên bản.
Làm như sau:
NSString *bundleVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
NSString *appFirstStartOfVersionKey = [NSString stringWithFormat:@"first_start_%@", bundleVersion];
NSNumber *alreadyStartedOnVersion = [[NSUserDefaults standardUserDefaults] objectForKey:appFirstStartOfVersionKey];
if(!alreadyStartedOnVersion || [alreadyStartedOnVersion boolValue] == NO) {
[self firstStartCode];
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:appFirstStartOfVersionKey];
}
các firstStartCode selector sẽ chỉ được gọi đúng thời hạn cho mỗi phiên bản ứng dụng trên chạy đầu tiên.
OK?
Tôi thích sử dụng NSUserDefaults để lưu trữ chỉ báo lần chạy đầu tiên.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults objectForKey:@"firstRun"])
[defaults setObject:[NSDate date] forKey:@"firstRun"];
[[NSUserDefaults standardUserDefaults] synchronize];
Sau đó bạn có thể kiểm tra cho nó sau này ...
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if([defaults objectForKey:@"firstRun"])
{
// do something or not...
}
Trích từ: Best way to check if an iPhone app is running for the first time
nên khối đầu tiên của mã, để tôi đặt nó trong các đại biểu ứng dụng dưới didFinishLaunching? – theNoobProgrammer
Có điều đó sẽ hoạt động. – CamelSlack
Bạn có thể sử dụng như sau:
-(void) firstLaunch {
//Code goes here
}
-(void) firstLaunchCheck {
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"didLaunchFirstTime"]) {
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"didLaunchFirstTime"];
[self firstLaunch];
}
}
- 1. Phát hiện người dùng lần đầu tiên trong ứng dụng java
- 2. Cách khởi chạy hoạt động chỉ một lần khi ứng dụng được mở lần đầu tiên?
- 3. Phát hiện tiện ích mở rộng Chrome lần đầu tiên chạy/cập nhật
- 4. Ứng dụngDidFinishLaunching: được gọi khi ứng dụng được cập nhật và khởi chạy lần đầu tiên?
- 5. lỗi khi chạy cpan lần đầu tiên
- 6. Gỡ lỗi ứng dụng iOS khi khởi chạy lần đầu tiên
- 7. Regex chỉ xuất hiện lần đầu tiên?
- 8. Python/NumPy lần xuất hiện đầu tiên của subarray
- 9. iCloud không hoạt động lần đầu tiên ứng dụng được khởi chạy
- 10. Phát hiện cài đặt lần đầu tiên trong iOS NOT NSUserDefaults
- 11. Xác định xem ứng dụng android có phải là lần đầu tiên sử dụng
- 12. presentModalViewController trong viewDidLoad khi khởi chạy lần đầu tiên
- 13. Metro (XAML/C#): phát hiện cài đặt và/hoặc chạy lần đầu
- 14. Làm cách nào để phát triển hộp thoại đi qua xuất hiện trên lần khởi chạy đầu tiên?
- 15. phát sóng để có số lần khởi chạy ứng dụng
- 16. Làm cách nào để tạo UIAlertView chỉ xuất hiện một lần, lúc khởi động đầu tiên của ứng dụng iPhone?
- 17. Học Oracle lần đầu tiên
- 18. Sử dụng awk để tìm lần xuất hiện đầu tiên của chuỗi sau dấu phân cách
- 19. Ứng dụng một lần nhấp và phát hiện ra mắt phiên bản mới
- 20. Xem trước đoạn của khung nhìn trong ViewPager khi chạy lần đầu tiên
- 21. Cách thay thế để thực hiện một lần đẩy đầu tiên của một repo lớn
- 22. Phát hiện tải trang đầu tiên với jQuery?
- 23. Ứng dụng web được triển khai trên tomcat chậm khi truy cập lần đầu tiên?
- 24. EF6/Code Đầu tiên: Siêu chậm trong lần truy vấn đầu tiên, nhưng chỉ trong Debug
- 25. Java.lang.NoClassDefFoundError sau khi sử dụng maven lần đầu tiên?
- 26. Sử dụng readlines trong python? Lần đầu tiên
- 27. : Chạy mã lần đầu tiên gói được cài đặt hoặc sử dụng
- 28. Phát hiện android của riêng ứng dụng của tôi: versionCode tại thời gian chạy
- 29. Phát hiện ứng dụng treo
- 30. Xây dựng ứng dụng ASP đầu tiên của tôi
+1 Đó là cách tôi luôn làm. –