Compartir vía


Solución de problemas del SDK de macOS

Importante

Visual Studio App Center está programado para retirarse el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo y las alternativas de soporte técnico.

Problemas durante la instalación

  1. En la consola, busque un registro assert con el mensaje "Sdk de App Center configurado correctamente". Esto comprueba que el SDK está configurado correctamente.
  2. Si usa Cocoapods para integrar App Center en la aplicación macOS y se produce un error con el mensaje CocoaPods - Unable to find a specification for AppCenter: , ejecute pod repo update para actualizar el repositorio de Cocoapods local y, a continuación, vuelva a ejecutarse pod install .
  3. Si va a integrar manualmente los archivos binarios del SDK, asegúrese de que los módulos están habilitados para el proyecto.

Los datos de análisis no se muestran en el portal.

  1. Asegúrese de que ha integrado correctamente los módulos del SDK.

  2. Asegúrese de que se incluye el secreto de aplicación correcto junto con la llamada al start:withServices: método. Para copiar el código exactostart:withServices:, abra la aplicación en el portal y vaya a Introducción página.

  3. Si desea ver los registros enviados al back-end, cambie el nivel de registro a Detallado en la aplicación y el SDK imprimirá los registros en la consola. Inserte la siguiente llamada antes de que se inicie el SDK:

    [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
    
    AppCenter.logLevel = .verbose
    

    Asegúrese de que aparece "Sdk de App Center configurado correctamente" en los registros (en el nivel de registro info ), compruebe si ve los registros de solicitudes HTTPS.

  4. Asegúrese de que el dispositivo está en línea y de que la aplicación tiene acceso a Internet.

    Nota

    Si la aplicación usa el espacio aislado de aplicaciones, debe establecer la capacidad de permitir las conexiones entrantes (servidor) y salientes (cliente) para permitir que la aplicación tenga acceso a Internet. Xcode 9 habilita el espacio aislado de aplicaciones de forma predeterminada, pero las funcionalidades de las conexiones entrantes y salientes deben establecerse explícitamente.

    Seleccione el proyecto en el navegador del proyecto, seleccione la pestaña Funcionalidades y, si la aplicación usa el espacio aislado, agregue las funcionalidades para las conexiones entrantes y salientes.

  5. A veces, los registros pueden tardar unos minutos en aparecer en el portal. Espere algún tiempo si ese es el caso.

  6. Para comprobar si el back-end de App Center ha recibido los datos, vaya a la sección Flujo de registro del servicio Analytics . Los eventos deben aparecer una vez enviados.

Los bloqueos no se muestran en el portal.

  1. Asegúrese de que ha integrado correctamente los módulos del SDK.

  2. Asegúrese de que se incluye el secreto de aplicación correcto junto con la llamada al start:withServices: método. Para copiar el código exactostart:withServices:, abra la aplicación en el portal y vaya a Introducción página.

  3. Reinicie la aplicación después de un bloqueo. Los bloqueos de App Center reenviarán el registro de bloqueos solo después de reiniciar la aplicación. Además, el SDK no reenviará ningún registro de bloqueo si está asociado al depurador. Asegúrese de que el depurador no está asociado al bloquear la aplicación.

  4. Si desea ver los registros enviados al back-end, cambie el nivel de registro a Detallado en la aplicación y el SDK imprimirá los registros en la consola. Inserte la siguiente llamada antes de que se inicie el SDK:

    [MSACAppCenter setLogLevel:MSACLogLevelVerbose]
    
    AppCenter.logLevel = .verbose
    

    Asegúrese de que aparece "Sdk de App Center configurado correctamente" en los registros (en el nivel de registro info ), compruebe si ve los registros de solicitudes HTTPS.

  5. No use ninguna otra biblioteca que proporcione la funcionalidad de informes de bloqueos. Solo puede tener un SDK de informes de bloqueo integrado en la aplicación.

  6. Asegúrese de que el dispositivo está en línea y de que la aplicación tiene acceso a Internet.

    Nota

    Si la aplicación usa el espacio aislado de aplicaciones, debe establecer la capacidad de permitir las conexiones entrantes (servidor) y salientes (cliente) para permitir que la aplicación tenga acceso a Internet. Xcode 9 habilita el espacio aislado de aplicaciones de forma predeterminada, pero las funcionalidades de las conexiones entrantes y salientes deben establecerse explícitamente.

    Seleccione el proyecto en el navegador del proyecto, seleccione la pestaña Funcionalidades y, si la aplicación usa el espacio aislado, habilite las conexiones entrantes y salientes.

  7. En ocasiones, los registros pueden tardar unos minutos en aparecer en el portal. Espere algún tiempo si ese es el caso.

  8. Si quiere comprobar si el SDK detectó el bloqueo en el siguiente inicio de la aplicación, puede llamar a la API para comprobar si la aplicación se bloqueó en la última sesión y muestra una alerta. O bien, puede ampliar la devolución de llamada de bloqueo didSucceedSendingErrorReport para ver si se envió correctamente al servidor.

  9. Para comprobar si el back-end de App Center recibió el bloqueo, vaya a la sección Flujo de registro del servicio Analytics. Los bloqueos deben aparecer allí, una vez enviados.

Protección del valor del secreto de App Center

app_secret es un identificador de la aplicación, es necesario saber a qué aplicación se aplica el tráfico y no se puede usar para recuperar o editar datos existentes. app_secret Si se expone, el mayor riesgo es enviar datos incorrectos a la aplicación, pero no tendrá ningún efecto en la seguridad de los datos.

Para recuperar datos confidenciales, debe proporcionar un token de aplicación o usuario, que se genera en el lado del cliente. No hay ninguna manera de proteger completamente los datos en el lado del cliente.

Puede mejorar la seguridad de la aplicación mediante una variable de entorno para insertar el secreto de la aplicación en el código. De este modo, el secreto no es visible en el código.