Siga as etapas abaixo para diagnosticar problemas no cliente iOS:
Inicializar o serviço de diagnóstico
Inicialize a função de diagnóstico antes de usá-la.
#import <MPDiagnosis/MPDiagnoseAdapter.h>
[MPDiagnoseAdapter initDiagnose];
O serviço de diagnóstico permite extrair logs pelos métodos Sync ou Push. Os códigos de inicialização variam conforme o método de extração escolhido.
Usar o Mobile Sync Service (Sync)
Se você optar pelo método Sync para extrair logs de diagnóstico, inicialize o serviço antes de usar a função de diagnóstico.
#import <MPDiagnosis/MPDiagnoseAdapter.h>
[MPDiagnoseAdapter initDiagnose];
Usar o Message Push Service (Push)
Integre o Message Push Service e conclua a etapa Integrar com iOS primeiro. Após receber a mensagem push, chame o seguinte método:
#import <APLog/APLogMgr.h>
[[APLogMgr sharedInstance] handlePushDiagnosisCmd:[notification.userInfo objectForKey:@"content"]];
Precauções de atualização
A partir da versão 10.1.32, não é mais necessário adicionar o arquivo Category da classe APLogUser, pois a camada intermediária já implementa o empacotamento. Após a atualização, verifique se há configurações da versão anterior no projeto e exclua-as. A imagem a seguir mostra as configurações que devem ser removidas na nova versão.

Defina o ID do usuário
O serviço de diagnóstico extrai logs com base no ID do usuário.
-
Defina o ID do usuário usando a função
userIddurante a implementação deMPaaSInterface.
-
Durante a troca de usuário, ou seja, quando o valor configurado na função
userIddeMPaaSInterfacemudar, chame a seguinte função:[MPDiagnoseAdapter userChange];Para mais informações, consulte o arquivo
MPDiagnoseAdapter.hemMPDiagnosis.
Gravar logs de diagnóstico
Chame o método abaixo para gravar logs de diagnóstico nos pontos críticos do aplicativo:
/**
* 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__)
Para mais detalhes, consulte o arquivo APLog.h em APLog.
Por exemplo, execute a instrução a seguir para gravar logs de diagnóstico após a inicialização:
APLogInfo(@"mPaaS", @"Start Cost %d", time);
Os logs gravados por APLogInfo não aparecem no console do Xcode. Para visualizar esses logs no console durante o desenvolvimento, adicione o arquivo ConsoleLog ao projeto.
Por questões de segurança, se não quiser que o aplicativo exiba logs (incluindo NSLog e APLogInfo) em produção, adicione o arquivo RemoveNSLog ao projeto ao gerar o pacote de release.
Visualize logs de diagnóstico locais
Encontre os logs de diagnóstico no diretório sandbox, conforme mostra a figura a seguir. Esse tipo de log não é relatado por padrão; o console envia um comando para extraí-los apenas quando necessário.

Os logs de diagnóstico salvos localmente no cliente têm limites de período de retenção e tamanho de arquivo. O SDK de diagnóstico no cliente aplica as seguintes políticas quando o aplicativo está em segundo plano ou quando o processo termina:
Período de retenção: 6 dias por padrão. Se o SDK detectar que o arquivo de logs dos últimos 3 dias ultrapassa 30 MB, todos os logs desse período serão excluídos.
Tamanho de arquivo: máximo de 100 MB por padrão. Quando o tamanho excede esse limite, os logs mais antigos correspondentes à metade do volume são removidos. Por exemplo, se o arquivo atingir 120 MB, 60 MB de logs serão excluídos.
Obter logs de diagnóstico de usuários online
Após publicar o aplicativo e colocá-lo em produção, se precisar obter os logs de diagnóstico locais do cliente para solucionar problemas, envie um comando pelo console do mPaaS para coletar os logs relevantes. Para instruções detalhadas, consulte Mobile Analysis > Extrair logs.