相关疑难解决方法(0)

检测应用程序在加载/上次运行期间崩溃了吗?

我希望我的应用程序重置为标准设置,如果它在启动过程中崩溃.优选地,如果它在上次运行时崩溃了.

编辑:Crittercism有一个crittercismDidCrashOnLastLoad方法,但它只处理加载期间崩溃的情况.它在我使用的库版本中无法正常工作,但此后已得到修复.

建议?

xcode ios crittercism

23
推荐指数
2
解决办法
8037
查看次数

如何捕获Swift崩溃并进行一些日志记录

在Objective-C中,NSSetUncaughtExceptionHandler可以注册一些功能来做最后一分钟的异常日志记录.

这并没有抓住Swift崩溃的东西.

是否有可能在Swift的全球范围内做这样的事情?例如,如果在Swift代码中发生崩溃,请执行一些日志记录,例如强制解包nil可选.

具体来说,我正在做一个实用程序来记录应用程序中的网络流量,如果发生崩溃,我想将内存中的数据刷新到磁盘.

crash exception ios swift

15
推荐指数
3
解决办法
8693
查看次数

Swift中未捕获的错误/异常处理

我知道Cocoa中有一个UncaughtExceptionHandler,但我正在为Swift寻找同样的东西.即,当应用程序中由于任何错误而未在本地捕获任何错误/异常时,它应该一直冒泡到顶级应用程序对象,在那里我应该能够优雅地处理它并适当地响应用户.

Android拥有它.Flex有它.Java有它.想知道Swift为什么缺少这个关键功能.

uncaughtexceptionhandler swift

11
推荐指数
2
解决办法
6095
查看次数

如何在Swift中获得堆栈跟踪错误?

在Objective-C中,每当应用程序崩溃时,我都可以通过使用此代码获取堆栈跟踪以查看导致错误的最后一个方法的位置 AppDelegate

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
     NSSetUncaughtExceptionHandler(&myExceptionHandler);
     return YES;
 }

void myExceptionHandler(NSException *exception)
{
    NSArray *stack = [exception callStackReturnAddresses];
    NSLog(@"Stack trace: %@", stack);

    NSLog(@"MyExceptionHandler");
}
Run Code Online (Sandbox Code Playgroud)

它会将堆栈跟踪日志打印到控制台,我可以使用它来调试问题的原因,而不是在main.m没有信息的情况下结束

那我怎么能在Swift中做到这一点?

exception ios swift

10
推荐指数
1
解决办法
4621
查看次数