pae i686 clonezilla amd64 ios objective-c xcode xcode7 stripe-payments

ios - i686 - ld: marco no encontrado Stripe para arquitectura x86_64



i686 pae wikipedia (4)

¿Se encontró con este problema cuando ejecutó sus casos de prueba?

Así es como se ve mi podfile:

def shared_pods pod ‘GoogleMaps'', ''~> 1.13.0'' pod ‘SwiftyJSON'', ''~> 2.3.2'' pod ‘Alamofire'', ''~> 3.2.1'' pod ‘MGSwipeTableCell’ end target ''projectName'' do shared_pods end

Entonces agregué esto a podfile:

target ‘ProjectTests’ do pod ‘Nimble’, ‘~> 4.0.0’ pod ’Quick’ end

Lo que también necesitaba hacer era:

target ‘ProjectTests’ do shared_pods // I needed to add this line as well. Since this line included the needed ''MGSwipeTableCell'' framework pod ‘Nimble’, ‘~> 4.0.0’ pod ’Quick’ end

Por lo tanto, una posible razón sería que en su archivo pod no los agregó correctamente, solo asegúrese de que el marco se agregue a los objetivos necesarios.

Tengo un componente de iOS que se basa en el SDK de Stripe iOS , Proyecto A. Incluí el SDK de Stripe en el Proyecto A en Xcode y se compila bien.

Sin embargo, estoy creando otro proyecto en Xcode que se basa en este componente, Proyecto B. Agregué el Proyecto A a las bibliotecas del Proyecto B. El proyecto A se basa en el proyecto B, pero no se basa directamente en el SDK de Stripe.

Ahora, cada vez que intento compilar el Proyecto B, me sale este error:

ld: framework not found Stripe for architecture x86_64

Esta línea (dentro del Proyecto A) parece desencadenar el error:

#import <Stripe/Stripe.h>

Xcode no tiene problemas para encontrar a Stripe.h . Intenté agregar el SDK de Stripe directamente al Proyecto B también. He comprobado la comprobación de las fases de compilación -> Vincular binario con bibliotecas para todos los destinos (se enumera Stripe.framework ).

Agregué el marco Stripe manualmente, así que también intenté agregarlo con Cocoapods en su lugar, pero eso tampoco funcionó.

¡Por favor ayuda!

Aquí está la estructura del proyecto para el Proyecto B ("ejemplo"), con el Proyecto A ("RCTFBLogin") debajo de él.

Aquí está el error completo:

Estoy usando Xcode 7.2 y la versión más reciente del SDK de Stripe (6.0.0). El mismo código de marco de Stripe funciona bien en otro proyecto.

Gracias.

Actualización: $(SRCROOT)/../.. " $(SRCROOT)/../.. " (ya que el Proyecto B tiene dos carpetas en el Proyecto A) a "Rutas de búsqueda de marco" en Configuración de compilación -> "Rutas de búsqueda" para el objetivo del Proyecto B y Comenzó a compilar con éxito. Sin embargo, ahora me sale este error cuando se ejecuta:

ld: warning: Auto-Linking supplied ''/Users/rettig/wip/react-native-facebook-login.2/Stripe.framework/Stripe'', framework linker option at /Users/rettig/wip/react-native-facebook-login.2/Stripe.framework/Stripe is not a dylib Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_Stripe", referenced from: objc-class-ref in libRCTFBLogin.a(RCTFBLogin.o) ld: symbol(s) not found for architecture x86_64



Notó este problema mientras cambiaba algunas dependencias de vainas a cartago. Similar a la respuesta de Honey, pude evitar este error modificando el podfile.

Resulta que todo lo que tenía que agregar era el objetivo de la prueba. Luego, ejecute ''pod install'', y esto vinculará su objetivo de prueba a los marcos generados por sus pods.

target ''Project'' do use_frameworks! //pods here normally target ''ProjectTests'' do //nothing in here end end


Tuve que hacer dos cosas para que esto funcione:

  1. Agregue "$ (SRCROOT) /../ .." (ya que el Proyecto B tiene dos carpetas en el interior del Proyecto A) en "Rutas de búsqueda de marco" en Configuración de compilación -> "Rutas de búsqueda" para el objetivo del Proyecto B.

  2. Agregue también el SDK de banda a los marcos del Proyecto B. Este segundo paso en particular me sorprendió porque el Proyecto B no se basa directamente en Stripe.