gpt4 book ai didi

iOS 13 启动时崩溃

转载 作者:行者123 更新时间:2023-12-02 11:50:33 25 4
gpt4 key购买 nike

随着 iOS 13.0 更新,应用程序在启动时崩溃。用户报告应用程序在重新启动时崩溃。

我从 Crashlytics 收到此信息:

紧接着,[AppDelegate application:didFinishLaunchingWithOptions:] 正在 ViewController 上调用 viewDidLoad:,该 ViewController 稍后会在应用程序流程中使用,或者可能永远不会使用。

它的奇怪之处在于: - 我无法重现,对于我测试的每部 iPhone,应用程序都运行良好。它不适用于我们 10% 的用户。

  1. Crashlytics 可能是错误的吗? - 它报告错误,因为 Crashlytics 尚未初始化

  2. 出现错误的 ViewController-s 名称,它是“ViewController” - 这可能是冲突吗?看来这个,它没有正确初始化。进入 viewDidLoad:我有这个:

    self.tabButtons = @[_btnOne, _btnSecond, _btnThird, _btnFourth]; - 此行在 Crashlytics 中报告为

    “致命异常:NSInvalidArgumentException*** -[__NSPlaceholderArray initWithObjects:count:]:尝试从对象[0]插入零对象”

  3. 如何重现?

这是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];
}

enter image description here

最佳答案

问题是这样的:(我不修改问题 - 但我会将我的解决方案放在这里)。

  • app 没有使用 Main.storyboard 中声明的初始 View Controller ,因为每个 vc 都是在需要时初始化的。这很好。但不需要声明Main.storyboard。也是初始 View Controller 。

  • 最初使用的 VC 是......“令人惊讶”......ViewController,错误出现的地方。

此外,因此没有任何 UITest 启动。我不明白为什么。

关于iOS 13 启动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58178710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com