Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

396
Visualizações
¿Cómo vincular la dependencia de XCTest a la producción/objetivo principal?

Estoy tratando de escribir una extensión para el marco XCTest en Swift. Para hacerlo, creé un proyecto con dos objetivos: el objetivo principal/de producción y un objetivo de prueba.

Como estoy escribiendo una extensión para XCTest, también necesito importar XCTest dentro de mi objetivo principal/de producción. Sin embargo, tengo problemas para hacerlo. Cuando estoy en Xcode y hago clic en mi proyecto, luego selecciono el objetivo principal, voy a Build Phases, Link Binary With Libraries y agrego XCTest allí, aparece un error de compilación:

ld: marco no encontrado XCTest clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación)

También probé la solución provista aquí que desafortunadamente tampoco funciona.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La información auxiliar sobre XCTest en sí es escasa y difícil de encontrar, también estaba persiguiendo la misma funcionalidad y finalmente logré que funcionara.

Estoy en XCode 10.1 y ejecuto un iPhone real con iOS 11. Estoy seguro de que la técnica general funcionará para otras versiones, pero probablemente requerirá algunos ajustes.

Los pasos generales se describen en esta respuesta de stackoverflow, pero requirieron varios pasos y ajustes adicionales para que funcionen para mí en un iPhone real:

¿Es posible ejecutar pruebas XCTest en una aplicación de iOS?

Sigue los pasos del enlace anterior. Los pasos a continuación son desviaciones de las instrucciones que se requieren para mí.

  1. Copie en el marco XCTest como se describe en el enlace anterior. NOTA: Use el marco para la plataforma iPhone.OS y no el simulador como se describe. Puede encontrar este archivo de marco dentro del paquete de la aplicación XCode real en su mac. (Haga clic derecho, "Mostrar contenido del paquete", luego busque en ./Contents/Developer/Platforms/iPhoneOS.platform

  2. Deshabilite el código de bits en el destino de su aplicación. Esto resuelve un error del enlazador. Aquí hay un ejemplo de cómo habilitarlo: ¿cómo ENABLE_BITCODE en xcode 7?

  3. Al arrastrar el archivo XCTest.framework a los binarios vinculados en su destino, asegúrese de arrastrarlo también a los "Binarios integrados", que se encuentra directamente encima de la opción "Bibliotecas y marcos vinculados". Si no hace esto, obtendrá un error de tiempo de ejecución.

agregar marco a binarios incrustados

  1. El código de ViewController para iniciar las pruebas es ligeramente diferente en el nuevo Swift, esto es lo que estoy usando:
 import UIKit import XCTest class ViewController: UIViewController { override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { print("running tests!") let suite = XCTestSuite.default; for test in suite.tests { test.run() } } }

¡Eso debería ser! Cuando ejecuto la aplicación anterior, luego toco la pantalla, ¡todas las pruebas de mi objetivo UITesting se ejecutan sin problemas y pasan!

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda