失败的assert
语句是否会生成崩溃报告(带有堆栈跟踪),这些报告将通过iTunes Connect传播?
我想知道NSAssert
以及未捕获的C ++ / Obj-C例外情况。
请注意,我正在使用断言来解决内部一致性和逻辑错误,而不是文件错误等问题。
如果他们没有生成错误报告,有没有办法制作它们(使用自定义宏,异常处理程序等)?能够获得堆栈跟踪非常重要。
答案 0 :(得分:1)
如果您使用标准Xcode模板之一,默认情况下,Xcode将禁用发布版本的NSAssert()
个宏。或者,您可以通过在构建设置中向其他C ++标志添加NS_BLOCK_ASSERTIONS
标志来自行禁用它们。
答案 1 :(得分:0)
是的,未捕获的异常会生成崩溃报告 - 我现在正在看iTunes Connect崩溃记者中的一个!基本上,几乎任何导致应用程序崩溃并保存日志的内容都会将报告发送回Apple。
那说,如果你担心它,你可能想要实现自己的崩溃报告处理程序,因为a)只有选择与Apple共享诊断信息的用户才会发送崩溃报告到iTunes Connct,和b)无法保证即使在那时崩溃报告也会将其发回给您进行审核。
你可以自己使用未捕获的异常处理程序,通过现有的分析包(Flurry支持这个),或者使用质量可变的开源库(here's one I've found online - 我实现自己的代码报告,所以你的里程可能会有所不同!)