Preguntas más frecuentes sobre iOS

Preguntas generales

¿Puedo usar una máquina virtual Mac con Xamarin?

Sí, pero solo en hardware Mac.

¿Cómo se puede cambiar a una versión de anterior de Xcode?

En esta guía se proporcionan vínculos para acceder a versiones anteriores de Xcode, así como a la versión más reciente.

¿Dónde puedo configurar mi ubicaciones de SDK de iOS?

Para la mayoría de los usuarios, estas se establecen de forma automática en las ubicaciones adecuadas. En esta guía se muestra una lista de las ubicaciones del SDK predeterminadas y cómo cambiarlas en caso necesario.

¿Cómo se pueden volver a habilitar las opciones del desarrollador después de actualizar iOS?

Un error de iOS puede hacer que las opciones del desarrollador desaparezcan después de actualizar las versiones de iOS, lo que se ha observado al cambiar a iOS 8.x. En esta guía se describe cómo se pueden volver a habilitar estas opciones.

La ubicación de usuario no funciona en iOS 8

En esta guía se indica cómo editar info.plist para habilitar la ubicación del usuario en iOS 8.

¿Dónde puedo encontrar el archivo .dSYM para resolver símbolos de registros de bloqueo de iOS?

En esta guía se describen los pasos básicos para resolver símbolos de registros de bloqueo de iOS a fin de ayudar a diagnosticar bloqueos. También se vincula a recursos adicionales para obtener técnicas de resolución de símbolos más avanzadas e información sobre la interpretación de registros de bloqueo de iOS.

¿Cómo se pueden establecer variables en tiempo de ejecución de Mono para los proyectos de iOS en Xamarin Studio?

Si necesita establecer variables de entorno en tiempo de ejecución para Mono, puede hacerlo en la página Opciones de proyecto > Ejecutar > General.

Publicación de preguntas

Error al enviar al App Store: “Invalid Bundle - Options not allowed to be embedded in bitcode are detected in the submission” (Agrupación no válida: se han detectado opciones no permitidas para insertar en bitcode en el envío).

¿Se puede cambiar la ruta de acceso de salida del archivo IPA?

A partir de Xamarin Cycle 7, se pueden usar destinos de MSBuild personalizados para conseguirlo.

¿Cómo se pueden copiar los archivos de salida de IPA a la carpeta de entrega TFS?

¿Se pueden agregar archivos a un archivo IPA, o eliminarlos de este, después de crearlo en Visual Studio?

Sí, es posible, pero normalmente será necesario volver a firmar la agrupación .app después de realizar el cambio. Tenga en cuenta que, con un uso normal, no es necesario modificar el archivo .ipa. Este artículo se proporciona únicamente con propósito informativo.

¿Es posible crear un archivo .xcarchive desde Visual Studio?

A partir de Xamarin 4, ahora es posible crear un archivo .xcarchive desde Windows, estableciendo la propiedad ArchiveOnBuild en true.

¿Por qué aparece el error siguiente al enviar mi aplicación: "Disallowed paths ( "iTunesMetadata.plist" ) found at ..." (Rutas de acceso no permitidas ("iTunesMetadata.plist") encontradas en...)?

Este error es el resultado de un cambio en el proceso de verificación del App Store de Apple. Este error específico no está relacionado con la versión concreta de Xamarin que ha instalado, por lo que la degradación no le ayudará. En esta guía se incluyen vínculos a más información sobre cómo corregir el problema.

Diagnóstico de mensajes de error específicos

Error de iOS Designer con RegisterServicePort

Los errores con RegisterServicePort, y los mensajes de error similares como los anteriores, son normalmente un problema relacionado con spyware o malware en el equipo. En esta guía se detalla la confirmación del diagnóstico y la información sobre cómo quitar el spyware o malware.

¿Por qué aparece el siguiente error en mi compilación de iOS: no valid iPhone code signing keys found in keychain?

Este mensaje de error se produce cuando el proyecto en cuestión busca credenciales de firma de código válidas, pero no las encuentra. La firma de código es necesaria para realizar pruebas e implementaciones en dispositivos iOS físicos. así como las compilaciones ad hoc y de la App Store.

¿Por qué se produce el siguiente error en mi aplicación iOS 9: System.Exception: Failed to marshal the Objective-C object (System.Exception: se ha producido un error al serializar el objeto Objective-C)?

Los cambios en la API en iOS 9 requieren que se utilice un constructor de devolución de llamada al llamar a código no administrado, ya que la API subyacente ahora lo espera.

Error en tiempo de ejecución: The assembly mscorlib.dll was not found or could not be loaded (El ensamblado mscorlib.dll no se ha encontrado o no se ha podido cargar)

Este problema se produce cuando faltan las carpetas ocultas.monotouch-32 y .monotouch-64 de .xcarchive para la creación de IPA/firma, lo que desencadena el error en tiempo de ejecución.

Error de compilación: Can not encode offset X in resulting scattered relocation (No se puede codificar el desplazamiento X en la reubicación distribuida resultante)

Este problema se produce al compilar para arquitecturas de 32 bits, como ARMv7, cuando el binario final es demasiado grande para la cadena de herramientas nativa.

Importante

Los artículos siguientes se aplican a problemas que se han resuelto en versiones recientes de Xamarin. Sin embargo, si el problema se produce en la versión más reciente del software, cree un nuevo error con la información de control de versiones completa y la salida del registro de compilación completa.

En desuso

El archivo IPA es de 0 bytes

Había algunos problemas conocidos en versiones anteriores de Xamarin que podían hacer que el archivo IPA en Windows fuera de 0 bytes.

Error de IBTool: The operation couldn’t be completed (La operación no se ha podido completar).

Apple ha corregido este error ibtool en Xcode 6.1.1, por lo que la corrección más sencilla es actualizar a Xcode 6.1.1 o a una versión posterior.

Error MT1009: Could not copy the assembly (No se puede copiar el ensamblado)

Esto afecta a los usuarios que ejecutan Xamarin.iOS 7.2.6. Este problema se debe a que los permisos de archivo necesitan privilegios más elevados cuando Xamarin.iOS se instala con una cuenta de usuario diferente y, después, a la cuenta principal del desarrollador.

System.Exception AMDeviceNotificationSubscribe returned ...

Este mensaje puede aparecer en un cuadro de diálogo de error, la primera vez que inicia Visual Studio para Mac, o en el archivo mtbserver.log. Tenga en cuenta que se trata de un problema poco común. Si Visual Studio tiene problemas para conectarse al host de compilación de Mac, hay otros errores con más probabilidades de que aparezcan en el archivo mtbserver.log.

MDocArchiveToMsxDocConverter.exe no encontró rver.BaseCommand.OnRequest

Este error puede aparecer en Mac Server Log en Visual Studio.