Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O Visual Studio App Center foi desativado em 31 de março de 2025, com exceção dos recursos de Análise e Diagnóstico, que continuarão com suporte até 30 de junho de 2026. Saiba mais.
Problemas durante a instalação
- No console, procure um log do Assert com a mensagem : "SDK do App Center configurado com êxito". A mensagem implica que o SDK foi configurado com êxito.
- Se você estiver usando o Cocoapods para integrar o App Center no seu aplicativo iOS e encontrar um erro com a mensagem -
CocoaPods - Unable to find a specification for AppCenter, executepod repo updatepara atualizar o repositório local do Cocoapods e depois executepod installnovamente. - Se você estiver usando CocoaPods para integrar o App Center em seu aplicativo iOS e, durante a compilação do projeto, caso encontre um erro com a mensagem
framework not found AppCenter.xcframework, você precisará atualizar (reinstalar) o CocoaPods para a última versão executando[sudo] gem install cocoapods. - Se você estiver integrando os binários do SDK manualmente, verifique se você tem módulos habilitados para seu projeto.
Os dados de análise não aparecem no portal
Verifique se você integrou os módulos do SDK corretamente.
Certifique-se de que o Segredo do Aplicativo correto esteja incluído na chamada do método
start:withServices:. Você pode copiar o código exatostart:withServices:abrindo o aplicativo no portal e navegando até a página Introdução .Se você quiser ver os logs enviados para o back-end, altere o nível de log para Verbose em seu aplicativo. O SDK imprimirá os logs no Console. Insira a seguinte chamada antes do início do SDK:
[MSACAppCenter setLogLevel:MSACLogLevelVerbose]AppCenter.logLevel = .verboseCertifique-se de que "SDK do App Center configurado com êxito" aparece nos logs (no nível de log INFO), então verifique se você observa os logs de solicitação HTTPS.
Verifique se o dispositivo está online.
Às vezes, os logs podem levar alguns minutos para serem exibidos no portal. Aguarde algum tempo se esse for o caso.
Para verificar se o back-end do App Center recebeu seus dados, vá para a seção Fluxo de log no serviço análise . Seus eventos devem aparecer assim que forem enviados.
Falhas não aparecem no portal
Verifique se você integrou os módulos do SDK corretamente.
Verifique se o segredo correto do aplicativo está incluído junto com a chamada de método
start:withServices:. Você pode copiar o código exatostart:withServices:abrindo o aplicativo no portal e navegando até a página Introdução .App Center Crashes enviará o log de falhas somente após o reinício do aplicativo. Além disso, o SDK não encaminha nenhum log de falha se você estiver conectado ao depurador. Verifique se o depurador não está anexado quando você trava o aplicativo.
Se você quiser ver os logs enviados para o back-end, altere o nível de log para Verbose em seu aplicativo. O SDK imprimirá os logs no Console. Insira a seguinte chamada antes do início do SDK:
[MSACAppCenter setLogLevel:MSACLogLevelVerbose]AppCenter.logLevel = .verboseCertifique-se de que "SDK do App Center configurado com êxito" aparece nos logs (no nível de log INFO), então verifique se você observa os logs de solicitação HTTPS.
Não use nenhuma outra biblioteca que forneça a funcionalidade de Relatório de Falhas. Você só pode ter um SDK de relatórios de falha integrado em seu aplicativo.
Verifique se o dispositivo está online.
Às vezes, os logs podem levar alguns minutos para serem exibidos no portal. Aguarde algum tempo se esse for o caso.
Verifique se o SDK detectou a falha na próxima inicialização do aplicativo. Você pode chamar a API para verificar se o aplicativo falhou na última sessão e mostra um alerta. Ou você pode estender o retorno de chamada de falha
didSucceedSendingErrorReportpara ver se ele foi enviado com êxito ao servidor.Para verificar se o back-end do App Center recebeu a falha, vá para a seção Fluxo de Logs no serviço de análise. Seus acidentes devem aparecer lá, assim que forem enviados.
O alerta que solicita aos usuários uma atualização não contém cadeias de caracteres, mas apenas as chaves para eles
Isso significa que o AppCenterDistributeResources.bundle não foi adicionado ao projeto. Verifique se você adicionou o arquivo no seu projeto Xcode e ele aparece na fase de compilação do alvo do aplicativo Copy Bundle Resources. Ele deverá aparecer lá se você adicionou o arquivo por meio de arrastar e soltar – o Xcode o faz automaticamente para você. Se o arquivo estiver ausente na fase de build, adicione-o para que ele seja compilado no pacote do aplicativo.
Se você estiver usando Cocoapods, ele cuidará dos recursos automaticamente. Tente reinstalar o aplicativo pod.
Você vê mensagens no console que indicam que o banco de dados não pôde ser aberto
A partir da versão 0.11.0 do SDK do iOS, o App Center usa o SQLite para persistir os logs antes de enviar para o back-end. Se você estiver agrupando seu aplicativo com sua própria biblioteca SQLite em vez de usar a fornecida pelo sistema operacional, poderá ver erros como este no console [AppCenter] ERROR: -[MSACDBStorage executeSelectionQuery:]/147 Failed to open database e não verá nenhuma informação de análise ou falha no back-end. Atualize o SDK para a versão 0.13.0 ou posterior.
As atualizações de distribuição e no aplicativo estão bloqueando meus testes automatizados de interface do usuário
Se as atualizações no aplicativo estiverem habilitadas, elas bloquearão seus testes automatizados de interface do usuário. O processo de atualização tentará se autenticar no back-end do App Center. Recomendamos não habilitar a Distribuição do App Center para seu alvo de teste de interface do usuário.
Por que o SDK é distribuído como uma "biblioteca estática"
As principais metas de design para o SDK do App Center são ter um impacto mínimo no aplicativo usando o App Center e ter um SDK modular. Isso resultaria na distribuição do SDK como várias bibliotecas compartilhadas vinculadas dinâmicas.
No entanto, o App Center é distribuído como uma biblioteca compartilhada vinculada de forma estática que é encapsulada em um falso framework "fat". Isso significa que o SDK está vinculado no momento da compilação e não no momento do lançamento para melhorar o desempenho. Carregar várias bibliotecas compartilhadas vinculadas dinâmicas leva tempo.
A Apple recomenda otimizar a inicialização do aplicativo para levar não mais de 400 ms em uma sessão WWDC. Eles recomendam especificamente bibliotecas compartilhadas estáticas em relação às compartilhadas dinâmicas para atingir essa meta. A distribuição do SDK do App Center para iOS como uma biblioteca compartilhada estaticamente vinculada segue a recomendação da Apple para fornecer o melhor desempenho e um impacto mínimo para o aplicativo que inclui o SDK.
Para saber mais sobre bibliotecas compartilhadas vinculadas estaticamente versus bibliotecas compartilhadas vinculadas dinâmicas, recomendamos a documentação geral da Apple sobre o tópico.
Por que os binários do SDK são tão grandes? Estou preocupado com o tamanho do meu aplicativo
Os binários do AppCenter são distribuídos como estruturas "gordas" que contêm fatias para todas as arquiteturas do iPhone e para o simulador do iPhone. É por isso que, por exemplo , AppCenter.framework tem 10,5 MB para baixar.
O tamanho compilado dos binários do SDK será muito menor do que o .framework que você adiciona ao seu aplicativo no Xcode. Lembre-se também de que os builds de versão também serão menores do que os builds de depuração.
Para ilustrar isso, criamos um aplicativo Objective-C vazio com o Xcode 9.2, adicionamos os binários do App Center ao aplicativo e distribuímos as versões em um iPhone 7 executando o iOS 11.3.
Fizemos os testes sem o Bitcode habilitado e não usamos o Afinamento de Aplicativo. Você pode usar essas técnicas para reduzir ainda mais o tamanho binário do aplicativo.
Os números abaixo podem variar e depender das configurações de build, portanto, considere-os um guia aproximado. Dito isto, adicionar o SDK do App Center ao seu aplicativo tem um impacto mínimo no tamanho do binário do aplicativo.
| Módulos do App Center usados | Tamanho do IPA exportado | Tamanho da instalação |
|---|---|---|
| Nenhum (aplicativo em branco) | 24 KB | 132 KB |
| Análise do App Center | 120 KB | 377 KB |
| Falha no App Center | 239 KB | 705 KB |
| Distribuição do App Center | 163 KB | 528 KB |
| Todos os módulos do App Center | 314 KB | 930 KB |
Proteger o valor do segredo do App Center
O app_secret é um identificador do seu aplicativo, é necessário saber a qual aplicativo o tráfego se aplica e ele não pode ser usado para recuperar ou editar dados existentes. Se o seu app_secret estiver exposto, o maior risco é enviar dados incorretos para seu aplicativo, mas isso não terá impacto na segurança dos dados.
Para recuperar dados confidenciais, você precisaria fornecer um token de aplicativo/usuário, que é gerado no lado do cliente. Não há como tornar os dados do lado do cliente completamente seguros.
Você pode melhorar a segurança do aplicativo usando uma variável de ambiente para injetar o segredo do aplicativo em seu código. Dessa forma, o segredo não está visível em seu código.