Pruebas OCUnit al proyecto iOS existente. "Ld: file no encontrado"

He estado siguiendo esta publicación de blog: Agregando testings unitarias al proyecto existente.

Sin embargo, estoy recibiendo este error:

ld: file no encontrado: Build / Products / Debug-iphoneos / MyApp.app / MyApp Command / Developer / Platforms / iPhoneSimulator.platform/Developer/usr/bin/clang failed con el código de salida 1

Tengo mis properties de testing de destino,

Bundle Loader = $ (BUILT_PRODUCTS_DIR) /MyApp.app/MyApp

Test Host = $ (BUNDLE_LOADER)

(que ambos equivalen a: build / Debug-iphoneos / MyApp.app / MyApp)

Mi conjetura salvaje es que esas variables no apuntan a la misma location que el comstackdor. "build / Debug-iphoneos / …" vs "Build / Products / Debug-iphoneos / …"

Podría estar totalmente equivocado en esa suposition, pero de cualquier manera, ¿alguien sabe qué está causando este error o cómo arreglaría esas variables de entorno?

Gracias por cualquier ayuda,

Sam

Dig en ~ / Library / Developer / Xcode / DerivedData, en tu proyecto. Desde allí, sigue la ruta del cargador de packages. Vea lo que realmente está ahí.

Ahora mire su Info.plist (o la configuration de información de su destino) y busque "Archivo ejecutable" o CFBundleExecutable . Si es ${EXECUTABLE_NAME} , verifique la configuration de "Nombre del producto" de su objective.

Me encontré con el mismo problema: no tenía sentido ya que la ruta que estaba usando para el ejecutable realmente existía. Echando un vistazo al command de compilation reveló que había un espacio adicional en la ruta del cargador que era el problema.

Buscando "Rutas de búsqueda" dentro de la configuration de generación. Probablemente haya routes inexistentes en "Rutas de búsqueda de Framework" o en las otras routes como las Rutas de búsqueda de biblioteca

Existe la posibilidad de que haya cambiado el nombre de la aplicación después de crear su proyecto. Entonces, el nombre de su proyecto y aplicación es diferente. En la ruta, use el nombre de su aplicación tal como aparecería en la tienda iTunes, en lugar del nombre de su proyecto.

Tuve el mismo problema anteriormente y resolví esto comprobando la configuration de compilation -> Base SDK de mi objective de testing de unidad y asegurándome de que sea correcto según el tipo de proyecto (OSX o iOS).

En tu podfile, asegúrate de haber incluido tus testings como objective

target 'YourAppNameTests' use use_frameworks! pod 'AFNetworking', '2.6.0' pod 'TYMProgressBarView' end

Esto agregará automáticamente Link Binary with Libraries Framework

introduzca la descripción de la imagen aquí

Intereting Posts