ios xcode cocoapods xcode7-beta2

ios - Xcode no puede ver objetos añadidos a través de Cocoapods



cocoapods swift (3)

Tengo un podfile definido con los siguientes pods.

platform :ios, ''8.0'' use_frameworks! target ''LifeStream'' do pod ''SSKeychain'' pod ''LiveSDK'' pod ''Alamofire'', :git => ''https://github.com/Alamofire/Alamofire.git'', :branch => ''swift-2.0'' end

Instalé las cápsulas y abrí mi espacio de trabajo. Descubrí que cualquier uso de Alamofire funciona bien, debido a que Swift 2 versión del proyecto importa como marco.

Cuando intento usar clases SSKeychain, sin embargo, recibo un

Uso del identificador no resuelto ''SSKeychain''

Lo mismo se aplica a cualquier clase que trate de usar en el LiveSDK.

Tengo un encabezado de puente en el directorio raíz de mi proyecto y el proyecto está configurado para usarlo.

#ifndef Header_h #define Header_h #import "SSKeychain/SSKeychain.h" #import "LiveSDK/LiveConnectClient.h" #endif /* Header_h */

si cambio el #import de

#import "SSKeychain/SSKeychain.h"

a

#import "SSKeychain.h"

Xcode no se compila porque no puede encontrar el archivo. Así que asumo que el encabezado del puente funciona, ya que la forma en que se construye el encabezado del puente ahora no genera ningún error de compilación causado por no encontrar los encabezados.

Cabecera de puente

Rutas de búsqueda de marco

También he añadido el directorio raíz de mi proyecto a la ruta de búsqueda del marco.

Marcos vinculados

Por último, también he vinculado todos los marcos al proyecto.

¿Me estoy perdiendo algo con mi configuración? No he podido conseguir que Cocoapods trabaje en mi proyecto durante casi una semana. Incluso creé un nuevo proyecto pensando que el mío estaba en mal estado; que no cambió nada. No sé qué hacer desde aquí para resolver esto.

Editar

Después de hacer una investigación adicional, encontré una publicación de blog que muestra que debes incluir tu directorio Pods en la Búsqueda de encabezados de usuarios

Un comentarista también mencionó que si está utilizando el soporte más nuevo de Cocoapods Frameworks para Swift, entonces deberá incluir la ruta de búsqueda de Frameworks / **. He incluido tanto Pods / ** como Frameworks / ** pero aún tengo el mismo problema.

Después de una lectura adicional , está empezando a sonar como si esto fuera una limitación de Cocoapods. Por lo que entiendo, no puedes usar bibliotecas y marcos al mismo tiempo en un proyecto.


Para aclarar lo que debe hacer para que funcione:

  1. Asegúrese de tener use_frameworks! en tu podfile
  2. No importa si tiene un encabezado de puente o no. Dejarlo intacto
  3. En su archivo SWIFT solo use import Podname

Eso es, eres bueno para irte. Por supuesto, puede suceder que necesite limpiar su proyecto o tal vez eliminar la carpeta de datos derivados . Construye y puedes usarlo.


Si no estás usando ninguna vaina rápida,

Trate de eliminar el use_frameworks! en su Podfile.

Ejecutar pod instalar en la terminal.

Limpia y Construye!

Pasé casi media hora reparándolo, intenté agregar esas rutas en Rutas de búsqueda o volver a agregar el encabezado de conexión, pero el error fue el mismo.

Por lo tanto, en mi caso, el archivo de encabezado de puente no fue el problema, está en el Podfile .

¡Espero que ayude!


Una vez que use use_frameworks! en tu Podfile, los Pods de Objective-C como SSKeychain también se construyen como marcos.

El problema real es que solo las importaciones de módulos funcionan en el encabezado de puente cuando se utilizan marcos. Además, es posible que desee deshacerse completamente del encabezado de puente, ya que no es necesario cuando se utilizan marcos, ya que se pueden importar directamente en Swift.