iOS Firebase崩溃报告和混合项目(Objective-C+Swift)-报告始终针对“主”功能,因此不提供信息
我在几个项目中发现了这个问题: 复制步骤: 创建禁用Objective-C语言位代码的新Xcode项目 去 Firebase控制台并创建新的iOS应用程序 设置Firebase崩溃 使用Cocoapods报告 例如,添加一些Swift代码 ViewController.swift 然后,用swift代码在何处进行崩溃 例如,在按钮操作中 例如:iOS Firebase崩溃报告和混合项目(Objective-C+Swift)-报告始终针对“主”功能,因此不提供信息,ios,objective-c,swift,xcode,firebase-crash-reporting,Ios,Objective C,Swift,Xcode,Firebase Crash Reporting,我在几个项目中发现了这个问题: 复制步骤: 创建禁用Objective-C语言位代码的新Xcode项目 去 Firebase控制台并创建新的iOS应用程序 设置Firebase崩溃 使用Cocoapods报告 例如,添加一些Swift代码 ViewController.swift 然后,用swift代码在何处进行崩溃 例如,在按钮操作中 例如: let array = [42] let outOfBounds = array[100500] 或者只是 致命的错误 没关系 6几分钟后,您将收到一
let array = [42]
let outOfBounds = array[100500]
或者只是
致命的错误
没关系
6几分钟后,您将收到一份名为:
男:14
我的意思是,它总是说main:%some line%和[NSObjectNSObject doesNotRecognizeSelector:],不管引发异常的文件/行是什么类型的错误,它总是不执行notrecognizeselector
如您所见,符号文件已成功上载报告已符号化
我已经检查了构建选项和编译器标志-没有运气
如果需要,以下是代码示例:
AppDelegate.m:
ViewController.swift:
通知
如果创建相同的Xcode项目,但仅使用Swift,则报告将提供更多信息:
清洁目标-C项目也是如此:
您看到的是进程崩溃时的堆栈跟踪 我的意思是,它总是说main:%some line%,不管文件/行在哪里 提出了例外情况 这一过程必须从主管道开始。请参阅第3行,您将知道崩溃是由无法识别的选择器引起的。你也可以看到屏幕上它像这样崩溃了 我不认为你能得到比这更多的信息。如果您的应用程序在TestFlight或Appstore上,您可以直接从Xcode检查崩溃。确保您上载的帐户已添加到Xcode。转到Windows->Organizer并单击崩溃选项卡。从左侧的列表中选择您的应用程序。现在您将有一个崩溃列表。单击要分析的崩溃,单击在项目中打开并选择您的项目。Xcode将打开代码崩溃的行
查看链接以了解有关读取错误日志的更多信息。不要忘记:可能需要3个工作日才能提供日志。此外,用户的设备必须启用发送诊断数据。我已经为您更新了我的问题。TL;TR:如果项目仅限于Swift或Obj-C,我将获得更多信息。而且,仅对于我每次收到的混合项目,不会识别Selector,即使它是由nsrangeException引起的。如果您尝试在main周围编写一个try catch并自己记录异常,它会与Firebase的异常不同吗?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FIRApp configure];
return YES;
}
@IBAction func buttonTap(_ sender: Any) {
let array = [42]
let outOfBounds = array[100500]
}