При обновлении до iOS 13.0 происходит сбой приложения при запуске. Пользователи сообщают о сбое приложения при новом запуске.
Я получаю это от Crashlytics:
Сразу после этого, [AppDelegate application:didFinishLaunchingWithOptions:]
вызывает viewDidLoad:
на ViewController, который используется очень позднов потоке приложения или, может быть, никогда.
Что очень странно с ним: - Я не могу воспроизвести, для каждого iPhone, который я тестирую, приложение работает просто отлично. Это не работает для 10% наших пользователей.
Может ли Crashlytics ошибаться? - и он сообщает неправильно, потому что Crashlytics еще не инициализирован
Имя ViewController-а, где появляется ошибка, это «ViewController» - это может быть конфликтом? Кажется, что этот, он не инициализирован должным образом. В viewDidLoad: у меня есть это:
self.tabButtons = @[_btnOne, _btnSecond, _btnThird, _btnFourth];
- эта строка сообщается в Crashlytics с
"Fatal Exception: NSInvalidArgumentException *** - [__ NSPlaceholderArray initWithObjects: count:]: попыткивставить ноль объекта из объектов [0] "
Как я могу воспроизвести?
Вот код в AppDelegate.m:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...............................
[self showFirstScreen];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
return YES;
}
-(void) showFirstScreen {
NSInteger companyAddedGet = [[NSUserDefaults standardUserDefaults] integerForKey:@"companyAdded"];
(companyAddedGet == -1) ? [self showAddNewCompanyViewController] : [self login];
}
-(void) login {
([[NSUserDefaults standardUserDefaults] objectForKey:@"LOGIN_DETAIL"]!=nil) ? [self automaticLogin] : [self showLogin];
}
-(void) automaticLogin {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Launch Screen" bundle:nil];
UIViewController *launchScreen = [storyboard instantiateViewControllerWithIdentifier:@"LaunchScreenVC"];
nav = [[UINavigationController alloc] initWithRootViewController:launchScreen];
nav.navigationBarHidden = YES;
[FIRAnalytics logEventWithName:@"login_automat" parameters: nil];
[self fetchCompanyData];
}
-(void) showLogin {
viewController = [[loginViewController alloc] initWithNibName:@"loginViewController" bundle:nil];
nav = [[UINavigationController alloc] initWithRootViewController:viewController];
nav.navigationBarHidden = YES;
}
-(void) showAddNewCompanyViewController {
.....
AddNewCompanyVC *addNewVC = [[AddNewCompanyVC alloc] initWithNibName:@"AddNewCompanyVC" bundle:nil];
[(AppObj).nav pushViewController:addNewVC animated:YES];
}