ios - showing - Marco no encontrado GoogleToolboxForMac
library not found for lgoogletoolboxformac (16)
Después de actualizar mi Firebase a través de "pod update", recibí un error como este:
ld: warning: directory not found for option ''-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac''
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Aquí mi Podfile:
# Uncomment this line to define a global platform for your project
# platform :ios, ''9.0''
pod ''Firebase/Core''
pod ''Firebase/Messaging''
target ''BB'' do
# Comment this line if you''re not using Swift and don''t want to use dynamic frameworks
use_frameworks!
# Pods for BB
target ''BBTests'' do
inherit! :search_paths
# Pods for testing
end
target ''BBUITests'' do
inherit! :search_paths
# Pods for testing
end
end
¿Alguien sabe sobre este error?
Busco relaciones entre GoogleToolboxForMac y Firebase, pero solo obtengo un poco de información.
Para su información, uso Swift 2.3 y Firebase 3.8.0.
Estaré agradecido por cualquier ayuda que pueda brindar. ¡Gracias!
-Busco en el disco duro los archivos de GoogleToolboxForMac, que se encuentran en: / Users / Marco / Documents / iosapps / BomRetiro / Bom Retiro / Pods / Target Support Files
- Y luego copié los archivos en esta carpeta: / Users / YourHomeFolder / Library / Developer / Xcode / DerivedData / Bom_Retiro-bsfjbazzzuwmuidqurdmjvdtnnsb / Build / Products
Y luego para mí se resuelve abriendo el proyecto usinf .xcworkspace file.
Abra your-project.xcworkspace en el destino de su proyecto.
1) Abrir terminal -> 2) $ cd / project_destination -> 3) $ open your-project.xcworkspace
o simplemente abra el archivo en el buscador
Asegúrese de que su "Configuración de la arquitectura activa de construcción" tanto para el objetivo del proyecto como para el pod sean iguales. Establecer NO en ambos casos solucionó mi problema.
Cerré el proyecto que estaba tratando de construir después de que hice la instalación del pod, luego abrí el .workspace y luego todo funciona perfectamente.
En mi caso, todas las integraciones están bien hechas y también probé mucho tiempo para eliminar y reinstalar el pod, pero no obtuve éxito.
Finalmente intente con el siguiente paso
Projetc-> Gestionar esquemas -> Seleccione la casilla de verificación "Pods-MyProjectName"
Y consigue el éxito.
Esto se solucionó agregando $ (heredado) en la Configuración de compilación -> Buscar LIBRARY_SEARCH_PATHS.
Esto es comprensible, ya que al actualizar su archivo pod para las últimas versiones de bibliotecas de las que depende su proyecto, la salida de depuración le dice dónde debe agregar todos los indicadores $ (heredados): LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS
GoogleToolboxForMac es una dependencia de Firebase / Messaging. Detalles en el podspec . Al hacer "actualización de pod", Cocoapods debe configurar su espacio de trabajo para construir y vincular GoogleToolboxForMac.
Parece que algo sobre su espacio de trabajo está en mal estado. ¿Producto -> Limpieza ayuda? ¿Qué pasa con la eliminación de datos derivados y ModuleCache (Xcode -> Preferencias -> Ubicaciones -> Datos derivados)?
No debería ser necesario, pero también puede intentar agregar explícitamente el pod ''GoogleToolboxForMac / Logger'' a su Podfile.
Mi problema era que tenía un script / bin / sh que copiaba Pods específicos que no existían. Este era uno de ellos. Eliminar el script resolvió el problema de compilación.
Respuesta simple de Swift 5
Shift+Alt+Cmd+K //Clean the project and Run again!
//if not work restart Xcode and again clean it
//Its will work happy coding
Si enfrenta el mismo error, en su XCode, vaya a:
Su proyecto > su destino > Desplácese hacia abajo hasta Linked Framework and Libraries y verifique si la entrada de la Biblioteca está atenuada:
Si es así, elimínelo y agréguelo nuevamente. En mi caso, tenía entradas duplicadas y una de ellas estaba atenuada (cuando XCode no puede encontrarlas en el disco).
Tuve el mismo problema cuando intenté ejecutarlo en mi dispositivo.
En el simulador funcionaba bien.
Intenté algo de lo anterior pero no funcionó para mí.
Verifiqué que estaba trabajando en
.xcworkspace
lugar del archivo
.xcodeproj
, así que probé este.
Siga estos pasos para:
- Abra el proyecto Xcode (proyecto cocoapods) usando el archivo .xc ...
- Seleccione el proyecto Pods en el navegador de proyectos (icono azul a la izquierda).
- En Objetivos, asegúrese de que Pods-ProjectName (icono azul) esté seleccionado.
- Vaya a Configuración de compilación y configure el Destino de implementación de iOS en la versión de iOS en la que va a ejecutar el proyecto.
Nota: Es lo mismo que configuró en
Project->Targets->Deployment info->Deployment Target
.
Quizás alguien se beneficie de esto.
Vaya a:
target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"
y compile el proyecto.
Yo tenía el mismo error. Una vez que instales los pods, verás el siguiente mensaje.
[!] Cierre todas las sesiones actuales de Xcode y use MyApp.xcworkspace para este proyecto de ahora en adelante.
No me di cuenta de esto por primera vez y estaba tratando de construir el proyecto usando el archivo xcodeproj normal. Después de ver este mensaje, abrí el proyecto correcto y funcionó bien.
Una vez que abra este proyecto, notará que tiene dos subproyectos. Uno sería su proyecto, y otro sería el proyecto Pods.
Marco no encontrado
Cuando usamos Pods, generalmente nos enfrentamos a este problema.
Existen dos motivos principales para esto
-
Cuando abrimos el archivo
.xcodeproj en
lugar de
.xcworkspace
como lo menciona izaaz-yunus en esta
Answer
-
Cuando Build Active Architecture Only se establece en Yes en Build Settings
Esto se aplica al objetivo del proyecto y también a todos los objetivos en el proyecto pod
Captura de pantalla del proyecto principal
Captura de pantalla del proyecto Pod
- Seleccione Configuración de compilación (del proyecto principal, proyecto de pod ambos)
- Seleccione cada objetivo uno por uno
- Establezca Build Active Architectures en No para cada objetivo
Finalmente limpia y reconstruye tu proyecto.
Friends, you must be confused with the exact result, as i was. So, i feel to share the
screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error.
See the attached screenshot.
Screen Shot 1, Screen Shot 2, Screen Shot 3
[Select Pods][1]
[Select Targets in the pod][2]
[Change flag to No][3]
[1]: https://i.stack.imgur.com/E7mjX.png
[2]: https://i.stack.imgur.com/wCwET.png
[3]: https://i.stack.imgur.com/KVGKM.png
its work''s 1. select your project in directories 2. select General 3. Add "GoogleToolboxForMac.framework" to the Linked "frameworks and Libraries"