Error de Pod en Xcode "Id: framework no encontrado Pods"

Estoy intentando clonar un proyecto de un repository bitbucket y estoy obteniendo un error Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation) cuando intenta ejecutar un proyecto Xcode en el área de trabajo . Estos son los pasos que he seguido, si alguien me puede decir lo que estoy haciendo mal, ¡eso sería genial!

  1. git clone (link to bitbucket)
  2. cambió la configuration de configuration en el proyecto Xcode pods a none para debugging y liberación
  3. realizó la pod install
  4. file de espacio de trabajo de Xcode abierto
  5. intenté build en Xcode y recibí el error Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)

Editar Aquí está el file podfile:

 # Uncomment this line to define a global platform for your project platform :ios, '8.0' use_frameworks! source 'https://github.com/CocoaPods/Specs.git' target 'Oncarb' do pod 'Alamofire' pod 'SwiftyJSON', '~> 2.2.0' end #target 'OncarbTests' do # pod 'Alamofire' # pod 'SwiftlyJSON', '~> 2.2.0' #end 

¿Hay algún paso que me falta?

¡Gracias!

Esto lo ha arreglado para mí:

  1. Abra el espacio de trabajo.
  2. Haga clic en el icono del proyecto azul (que se expande en el tree de files) en el lado izquierdo de la pantalla
  3. Justo a la derecha, selecciona "Objetivos" (en lugar de "Proyecto" – El proyecto es azul, el objective es como un lápiz y una regla y un pincel formando un triángulo)
  4. Haga clic en la pestaña General
  5. Vaya a la sección "Marcos enlazados y bibliotecas" (todo el path en la parte inferior)
  6. Eliminar los frameworks de Pods
  7. Añadir Alamofire y SwiftyJSON

En mi caso, no funcionó a less que eliminara los frameworks de pods, pero tengo la sensación de que esto es una solución. Quizás alguien con más experiencia puede comentar.

A veces, después de cambiar el nombre de un objective o mover algo, puedes dañar la installation de tus pods. Afortunadamente, hay una manera más fácil de solucionarlo que sudo make install 's solution.

  1. Ejecutar pod deintegrate para eliminar cualquier rastro de Cocoapods de su proyecto.
  2. Ejecute la pod install nuevamente para volver a agregarlo.

Eso es todo, arreglado.

Mi problema es que cuando realicé la testing obtuve este error. Porque solo lo instalo en mi

 target 'Project' do pod 'xxx' end 

También debe agregarlo a su objective de testing:

 target 'ProjectTests' do pod 'xxx' end 

En mi caso, tuve varios frameworks en rojo. Estos fueron sobrantes de las configuraciones anteriores de Podfile. Simplemente eliminé estos frameworks listdos en rojo y el problema fue solucionado.

Una posible causa en una import explícita de un marco Cocoapods en una class de testing / en el objective de la testing.

Ejemplo:

 import XCTest //import AlamofireImage @testable import MyProject // instead of importing AlamofireImage: #if os(iOS) || os(tvOS) || os(watchOS) import UIKit public typealias Image = UIImage #elseif os(macOS) import Cocoa public typealias Image = NSImage #endif 

Primero AlamofireImage porque AlamofireImage explícitamente typealias Image en mi testing como se define en AlamofireImage .

Si es tan fácil prevenir una import como en mi ejemplo, hazlo. Acabo de copyr la definición de image en mi file de class de testing.

Si crees que realmente necesitas esa import, sigue con la respuesta de William Hu. Una nota al pie a su respuesta:

 target 'MyProjectTests' do pod 'OnlyThatFrameworkYouImportIntoYourTest' end 

Solo debe agregar esos pods a su objective de testing, que debe (debe importar) explícitamente.

Parece que su proyecto usa librerías de CocoaPods ( https://cocoapods.org/ ) pero esas bibliotecas no se agregaron al repository de git.

Necesita instalar la herramienta de command, luego ejecute 'pod install' en su directory de proyecto. Instalará las bibliotecas que faltan para usted. Finalmente intente ejecutar el proyecto nuevamente.