Estoy tratando de usar la nueva @testable
declaración de Swift 2 para exponer mis clases al objetivo de prueba. Sin embargo, obtengo este error del compilador:
Intervals
es 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 Testability
es 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éncocoapods
como administrador de dependenciasTuve que agregar las siguientes líneas al final de mi
Podfile
para permitir la capacidad de pruebaPor defecto
cocoapods
conjuntosENABLE_TESTABILITY
aYES
sólo paraDebug
construccionesfuente
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 Testability
está establecido enNO
. Debe configurarloYES
en 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 Testability
en 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
Target
base, o porSchema
base, es porConfiguration
base. SeleccioneTarget
->Build Settings
pestañ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:
Y ahora el error se ha apagado.
fuente