Swift 关于Crash的一些看法

在Swift中, 编译器不再支持预处理指令。作为替代,它使用编译时的属性和build配置
在 Xcode 中 Build Setting 界面, 搜索 flags , 最下面就是.
我们可以通过在不同的环境下设置不同的 Tag , 来控制版本.

可以使用 #if 判定build的参数动态编译

自定义Log

还有一种方式实现版本管理就是通过切换不同的Target. 这里在参考中有详解.

在 腾讯Bugly官网 登录账号, 注册应用. 获取到AppKey.
在 文档中心 , 查看具体使用

先讲讲Object-C的方案

那怎么分析呢?

小节:

在Swift中怎么拦截crash, 避免程序崩溃呢?
目前除了调用 try-catch 方法, 并无其他比较好的解决方案, 但是这也是只能拦截 Foundation 框架里面的 NSArray , NSString 这种类型的. 并不能处理Array, String这种结构体.

既然写到这里, 推荐一个大佬写的 Swift 框架 GodEye , 里面有一个 CrashEye , 就是通过NSSetUncaughtExceptionHandler 和 signal(SIGABRT, SignalHandler), 来处理异常, 但是无法避免崩溃, 具体我在 iOS崩溃日志 里有提到.

参考
最详细 Xcode的Targets管理项目的公开版本、测试版本、预发布版本等等
OC版LSSafeProtector
Swift版CrashEye



扩展阅读:secret crash ... suagr crash ... subway surfers mod menu ... here lucian remix ... game will crash ... girlcrash女团mv ... supar crash remix ... crash drive3 ... upload crash ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网