本文档指导开发者完成阿里云移动监控iOS SDK的崩溃分析的功能验证。
1. 崩溃上报
编写测试代码,模拟/触发移动端崩溃。例如:
重要请勿在Xcode 调试器下运行App,SDK在Xcode 调试器场景中不再捕获崩溃。
NSMutableArray *array = @[]; [array addObject:nil]; // crash
let someNilString: String? = nil let forcedValue: String = someNilString! print("Value: \(forcedValue)")
触发崩溃后,大概2分钟后在控制台-崩溃页面查看
说明崩溃数据从采集到上传到控制台显示,存在大约2~3分钟延迟;
特殊场景下,应用重新启动后上传崩溃数据;
2. 自定义维度
编写测试代码,调用SDK接口自定义维度。例如:
#import "AlicloudApmCore/AlicloudApmCore.h" [[EAPMApm defaultApm] setCustomValue:@"value" forKey:@"key"]; [[EAPMApm defaultApm] setCustomKeysAndValues:@{ @"key1":@"value1", @"key2":@"value2", }];
#import "AlicloudApmCore/AlicloudApmCore.h" let apm = EAPMApm.defaultApm() apm.setCustomValue("value", forKey: "key") apm.setCustomKeysAndValues([ "key1": "value1", "key2": "value2" ])
触发崩溃后,大概2分钟后在控制台-崩溃页面查看,如下图红框所示
3. 自定义异常上报
编写测试代码,调用SDK接口自定义异常。例如:
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h" NSError *error = [NSError errorWithDomain:@"customError" code:10001 userInfo:@{@"errorInfoKey":@"errorInfoValue"}]; [[EAPMCrashAnalysis crashAnalysis] recordError:error userInfo:@{ @"key1":@"value1", @"key2":@"value2", }];
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h" let crashAnalysis = CrashAnalysis.crashAnalysis() let error = NSError( domain: "customError", code: 10001, userInfo: [ "errorInfoKey": "errorInfoValue", ] ) crashAnalysis.record(error: error, userInfo: [ "key1": "value1", "key2": "value2" ])
应用下次启动后,在控制台-自定义异常页面查看。
该文章对您有帮助吗?