简体   繁体   English

针对Apple Beta评论团队的ViewDidLoad上的UITableView IBOutlet崩溃不适合我

[英]UITableView IBOutlet crash on ViewDidLoad for Apple Beta Review Team not for me

My app keeps being rejected by Apple Beta Review Team because of what they claim is a crash at boot. 我的应用程序一直被Apple Beta审核小组拒绝,因为他们声称在启动时崩溃了。 Point is the crash never happens on any simulator or device on my side. 重点是在我身边的任何模拟器或设备上都不会发生崩溃。

The symbolicated crash log reports something like the following, but the line 74 reported in HomeViewController.swift (here I report an image of the code submitted to the Beta Review Team) 符号化的崩溃日志报告如下所示,但在HomeViewController.swift中报告了第74行(这里我报告了提交给Beta审核小组的代码的图像)

在此输入图像描述

is simply referencing a UITableView IBOutlet coming from the storyboard, if I put a breakpoint here the tableView is instantiated. 只是引用来自故事板的UITableView IBOutlet,如果我在这里放置一个断点,则实例化tableView。 I am using swift, iOS 9.3.2 and Xcode 7.3.1. 我使用的是swift,iOS 9.3.2和Xcode 7.3.1。

EDIT: Line 87 is same, calling a function renderButton(btnOpened, selected: true) on a UIButton IBOutlet. 编辑:第87行是相同的,在UIButton IBOutlet上调用函数renderButton(btnOpened,selected:true)。

I tried setting zombies, address sanitizer, I keep not having the crash, they keep having it, I have no clue what possibly could fix this. 我尝试设置僵尸,解决消毒剂,我一直没有崩溃,他们继续拥有它,我不知道什么可能解决这个问题。 Does anyone has any idea of what could be wrong? 有没有人知道可能出现什么问题?

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   Sportito                      0x00000001000cee40 HomeViewController.viewDidLoad() -> () (HomeViewController.swift:74)
1   Sportito                      0x00000001000ce990 HomeViewController.viewDidLoad() -> () (HomeViewController.swift:87)
2   Sportito                      0x00000001000cee60 @objc HomeViewController.viewDidLoad() -> () (HomeViewController.swift:0)
3   UIKit                         0x0000000186934c40 -[UIViewController loadViewIfRequired] + 996
4   UIKit                         0x0000000186934844 -[UIViewController view] + 28
5   UIKit                         0x0000000186cdaaec -[UINavigationController preferredContentSize] + 172
6   UIKit                         0x0000000186b9adf4 -[UIViewController(UIPopoverController_Internal) _resolvedPreferredContentSize] + 68
7   UIKit                         0x0000000186b9a858 -[UIPopoverController _transitionFromViewController:toViewController:animated:] + 152
8   UIKit                         0x0000000186b9a48c -[UIPopoverController _initWithContentViewController:popoverControllerStyle:] + 836
9   UIKit                         0x0000000186f5ac7c -[UISplitViewController _setupHiddenPopoverControllerWithViewController:] + 120
10  UIKit                         0x0000000186f5aeec -[UISplitViewController _viewControllerHiding:] + 356
11  UIKit                         0x0000000186f62b60 -[UISplitViewController viewWillAppear:] + 208
12  UIKit                         0x000000018694d374 -[UIViewController _setViewAppearState:isAnimating:] + 628
13  UIKit                         0x000000018694d0e8 -[UIViewController __viewWillAppear:] + 156
14  UIKit                         0x000000018693cf14 -[UIView(Hierarchy) _willMoveToWindow:withAncestorView:] + 596
15  UIKit                         0x000000018693c13c -[UIView(Internal) _addSubview:positioned:relativeTo:] + 444
16  UIKit                         0x000000018693b7e8 -[UIWindow addRootViewControllerViewIfPossible] + 664
17  UIKit                         0x0000000186938a88 -[UIWindow _setHidden:forced:] + 252
18  UIKit                         0x00000001869aefa4 -[UIWindow makeKeyAndVisible] + 48
19  UIKit                         0x0000000186bda3ac -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3456
20  UIKit                         0x0000000186bde5f0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1684
21  UIKit                         0x0000000186bdb764 -[UIApplication workspaceDidEndTransaction:] + 168
22  FrontBoardServices            0x000000018317f7ac __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
23  FrontBoardServices            0x000000018317f618 -[FBSSerialQueue _performNext] + 168
24  FrontBoardServices            0x000000018317f9c8 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
25  CoreFoundation                0x000000018179509c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
26  CoreFoundation                0x0000000181794b30 __CFRunLoopDoSources0 + 540
27  CoreFoundation                0x0000000181792830 __CFRunLoopRun + 724
28  CoreFoundation                0x00000001816bcc50 CFRunLoopRunSpecific + 384
29  UIKit                         0x00000001869a394c -[UIApplication _run] + 460
30  UIKit                         0x000000018699e088 UIApplicationMain + 204
31  Sportito                      0x000000010002e860 main (AppDelegate.swift:42)
32  libdyld.dylib                 0x000000018125a8b8 start + 4

According to apple's guideline your app must not crash on iphone or ipad whether your app is universal or not. 根据苹果的指南,无论您的应用是否通用,您的应用都不得在iphone或ipad上崩溃。

If your app is iPhone only then it should run in small resolution on ipad but it must not crash in any situation, because from appstore user can download iphone only app from ipad also so, it shouldn't crash. 如果您的应用程序只是iPhone,那么它应该在ipad上以小分辨率运行,但它不能在任何情况下崩溃,因为从appstore用户也可以从ipad下载仅限iPhone应用程序,所以它不应该崩溃。

So, check in iPad also that your app is not crashing. 因此,请在iPad中检查您的应用是否崩溃。

If your app is universal then there shouldn't problem of resolution in ipad or iphone both. 如果您的应用程序是通用的,那么ipad或iphone中的分辨率应该没有问题。

So, make sure which mistake you are doing. 所以,确保你正在做的错误。

hope this will help :) 希望这会有所帮助:)

Is the app set as universal? 该应用程序是否设置为通用? Could they be getting the crash on an iPad while you're testing on an iPhone, or vice-versa? 当你在iPhone上测试时,他们可能会在iPad上崩溃,反之亦然?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM