应用性能监控全链路版的iOS APPExtension SDK为无侵入式,本文介绍iOS APPExtension SDK详细的接入步骤。
注意
iOS APPExtension性能监控依赖Host APP性能监控,详情请参见iOS SDK接入。
注意
初始化代码需要配置RangersAPMConfig对象的groupID属性,值为和扩展程序一致的APP GroupID。
#import <RangersAPM.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { RangersAPMConfig *apmConfig = [RangersAPMConfig configWithAppID:@"{{app_id}}" appToken:@"{{app_token}}"]; apmConfig.channel = @"App Store"; apmConfig.groupID = @"{{groupID}}"; [RangersAPM startWithConfig:apmConfig]; return YES; }
在Podfile中扩展程序的target下添加如下代码。
source 'https://github.com/volcengine/volcengine-specs.git' pod 'RangersAPMForExtension', '1.0.5'
执行以下命令,安装SDK。
pod install
在扩展程序生命周期(用户同意隐私政策之后)的合适时机添加如下初始化代码。
// 请先在 Capability 中添加 App Groups,然后修改 groupID RangersAPMForAPPExtensionConfig *extensionConfig = [RangersAPMForAPPExtensionConfig configWithAppID:@"{{app_id}}" groupID:@"{{groupID}}"];
在扩展程序生命周期(用户同意隐私政策之后)的合适时机添加如下启动代码,extensionConfig为初始化时生成的配置。
[RangersAPMForAPPExtension startWithConfig:extensionConfig];
注意
SDK启动代码仅首次调用有效。
您可以根据需要,按照以下各模块说明,检查对应模块是否接入成功。
开启Debug日志输出功能后,SDK在初始化成功、上报成功等关键事件发生时,会向Xcode控制台输出日志,帮助您对SDK的接入和上报进行验证。
开启Debug日志输出示例代码:
#import <RangersAPMForAPPExtension.h> [RangersAPMForAPPExtension allowDebugLogUsingLogger:^(NSString * _Nonnull log) { NSLog(@"APMPlus Debug Log : %@", log); }];
支持通过修改block自定义日志输出格式。
以下代码示例是SDK内部默认的输出格式,如果传入nil,SDK会使用默认的格式输出日志。
[RangersAPMForAPPExtension allowDebugLogUsingLogger:nil];
请将以下示例代码在RangersAPM start方法之前初始化,否则对于一些同步事件可能无法输出日志。
#if DEBUG [RangersAPMForAPPExtension allowDebugLogUsingLogger:^(NSString * _Nonnull log) { NSLog(@"APMPlus : %@", log); }]; #endif [RangersAPMForAPPExtension startWithGroupID:@"{{groupID}}" forAppID:@"{{app_id}}"]; //请先于此代码开启debug日志
通过测试用例,您可以验证SDK功能是否已正确开启,您可以自己在代码中添加测试用例。
下面的代码会触发NSException类型的Crash。更多类型,请参见Example工程。
NSArray *array = [NSArray array]; [array objectAtIndex:10];
注意
不要直接通过Xcode Run启动扩展程序,这种方式触发的崩溃无法捕获。
完成开启debug日志后,根据输出日志验证模块是否接入成功。
日志内容 | 说明 |
---|---|
Crash-Monitor start successfully! | 崩溃监控模块启动成功 |