随着iOS 13.0更新,应用在启动时崩溃。用户报告应用程序重新启动时崩溃。
我从Crashlytics收到了此消息:
紧接着,[AppDelegate application:didFinishLaunchingWithOptions:]
在ViewController上调用viewDidLoad:
,它在应用程序流程中使用的时间很晚,甚至可能永远不会使用。
非常奇怪的是:-我无法复制,对于我所测试的每部iPhone,应用程序都可以正常运行。它不适用于我们10%的用户。
Crashlytics是否会出错? -报告错误,因为Crashlytics尚未初始化
出现错误的ViewController的名称,它是“ ViewController”-可能会发生冲突吗?似乎这一个没有正确初始化。 进入viewDidLoad:我有这个:
self.tabButtons = @[_btnOne, _btnSecond, _btnThird, _btnFourth];
-在Crashlytics中使用
“致命异常: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];
}
答案 0 :(得分:0)
问题是这样的:(我不修改问题-但我将解决方案放在这里)。
app没有使用Main.storyboard中声明的初始viewcontroller,因为每个vc都在需要的时刻进行了初始化。很好但是不需要Main.storyboard声明。也是初始视图控制器。
最初使用的VC是.....“ suprise” ....出现错误的ViewController。
此外,由于这个原因,没有一个UITest启动。我不明白为什么。