Estoy tratando de usar la nueva @testabledeclaración de Swift 2 para exponer mis clases al objetivo de prueba. Sin embargo, obtengo este error del compilador:

Intervalses el módulo que contiene las clases que intento exponer. ¿Cómo me deshago de este error?
fuente

@testable) pero deben enviarse a la App Store? SiEnable Testabilityes solo para compilaciones de depuración, ¿cuál es la forma de evitar esto? ¿Tengo que extraer mi código de prueba para liberarlo?En mi caso, utilicé una configuración de compilación personalizada para las pruebas (llamada
Test) y tambiéncocoapodscomo administrador de dependenciasTuve que agregar las siguientes líneas al final de mi
Podfilepara permitir la capacidad de pruebaPor defecto
cocoapodsconjuntosENABLE_TESTABILITYaYESsólo paraDebugconstruccionesfuente
Asegúrese de establecer correctamente sus casillas de verificación en el esquema de su aplicación. DEBES DESHABILITAR tus objetivos de prueba para Archive Build.
fuente
Para aquellos de ustedes que están experimentando esto solo al ejecutar Xcode Profiler: cambie la configuración de compilación de perfil en su administración de esquemas a la que tiene habilitada la capacidad de prueba, y eso sería una depuración en la mayoría de los casos:
fuente
Esto probablemente se deba a que su objetivo principal
Enable Testabilityestá establecido enNO. Debe configurarloYESen el esquema de depuración (que se utiliza para ejecutar sus pruebas).Si utiliza Carthage, este problema puede deberse a la importación de marcos con
@testable, ya que se crean con un esquema de lanzamiento.La mayoría de las veces es una mala práctica importar marcos con ese prefijo, por lo que podría evitarlo. Si no puede, debería hacerlo
Enable Testabilityen el esquema de lanzamiento de los marcos. https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-SW326fuente
Comencé a recibir este error al ejecutar pruebas con Bitrise.
A diferencia de lo que dicen otros usuarios, esto no es por
Targetbase, o porSchemabase, es porConfigurationbase. SeleccioneTarget->Build Settingspestaña -> busquetestability-> Habilítelo en la Configuración que está utilizando .Tenga en cuenta que Apple recomienda habilitar esto en la configuración que está utilizando para la depuración, no para AppStore.
fuente
La solución anterior está bien si está utilizando vainas / Cartago. Pero si está utilizando marcos del propio iOS 'por ejemplo, Contactos', necesita agregar una ruta a estos marcos en 'Rutas de búsqueda de bibliotecas' del objetivo principal de su proyecto.
fuente
Si intentas probar el framework:
Vaya al objetivo de prueba -> Fase de compilación -> Crear nueva fase de copia de archivos -> Elegir marcos -> Agregar todos los marcos utilizados recursivamente
fuente
Si por casualidad tienes
Entonces, esta es la forma de hacerlo.
fuente
Esto no ocurrió en mis proyectos antes de Xcode 8, pero después de actualizar a Xcode 8, me dejó perplejo.
Las respuestas publicadas aquí no resolvieron mis problemas. Para mí, acabo de abandonar estas pruebas, ya que no es necesario. Así que desmarca los botones de prueba:
fuente