完成以下步骤进行 iOS 客户端诊断:
诊断功能在使用之前需要进行初始化:
#import <MPDiagnosis/MPDiagnoseAdapter.h>
[MPDiagnoseAdapter initDiagnose];
诊断服务支持使用 移动同步 或 消息推送 方式拉取诊断日志,两种方式的初始化代码不同。
若采用移动同步的方式拉取诊断日志,则在使用诊断功能之前需要进行初始化。
#import <MPDiagnosis/MPDiagnoseAdapter.h>
[MPDiagnoseAdapter initDiagnose];
您需要先接入消息推送组件,完成 消息推送初始化。然后,在接收到消息推送之后,进行如下方法调用:
#import <APLog/APLogMgr.h>
[[APLogMgr sharedInstance] handlePushDiagnosisCmd:[notification.userInfo objectForKey:@"content"]];
10.1.32 版本之后不再需要添加 APLogUser
类的 Category
文件,中间层会实现包装,升级版本后请检查工程中是否存在旧版本配置,如果有请移除。下面为新版本应移除的配置。
诊断服务根据 用户 ID 拉取日志。
MPaaSInterface
的实现中通过 userId
函数配置用户 ID。MPaaSInterface
的 userId
函数中配置的值发生变化时,调用以下函数:详情可参考
[MPDiagnoseAdapter userChange];
MPDiagnosis
下的 MPDiagnoseAdapter.h
文件。调用以下方法在 App 关键链路写诊断日志:
/**
* Log a message with kAPLogLevelInfo level.
*
* @param message An NSString object that contains a printf-style string containing a log message and placeholders for the arguments.
* @param ... The arguments displayed in the format string.
*/
#define APLogInfo(tag,fmt, ...) \
APLogToFile(tag, kAPLogLevelInfo, fmt, ##__VA_ARGS__)
详情可参考 APLog
下的 APLog.h
文件。
例如,可以在启动完成后,调用下面的语句进行诊断日志的写入:
APLogInfo(@"mPaaS", @"Start Cost %d", time);
您可以在沙盒目录下找到诊断日志,如下图所示。该日志默认不会上报,只有在需要时才通过控制台下发指令拉取。
应用发布上线后,要获取客户端本地诊断日志排查问题,可通过 mPaaS 控制台下发指令获取相关诊断日志。具体操作,查看 移动分析 > 日志拉取。
在文档使用中是否遇到以下问题
更多建议
匿名提交