paymentez / paymentez-ios

Paymentez iOS SDK is a library that allows developers to easily connect to the Paymentez CREDITCARDS API
MIT License
0 stars 7 forks source link

linker command failed with exit code 1 #29

Closed AD-Paladins closed 6 years ago

AD-Paladins commented 6 years ago

Buenas tardes, siguiendo todas las instrucciones indicadas, hice un build a mi app y esta me retornó el siguiente error:

ld: '/Users/sistemas/Desktop/Desarrollo/PAYMENTEZ_PRUEBAS/VipPagos/PaymentezSDK.framework/PaymentezSDK' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file '/Users/sistemas/Desktop/Desarrollo/PAYMENTEZ_PRUEBAS/VipPagos/PaymentezSDK.framework/PaymentezSDK' for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Tambien probe con el comando sh package.sh usando el framework individual pero tambien veo que retorna el mismo mensaje.

AD-Paladins commented 6 years ago

Abri el proyecto del framework en el xcode, puse el check para obtener el bit code y compilé el proyecto nuevamente con el comando sh. utilizando nuevamente la version universal del framework compilado con bitcode, ahora tengo el errror de que falta el módulo CommonCrypto. Hice configuraciones adicionales en el proyecto de pruebas para agregar el módulo CommonCrypto con modulos de mapeo y ahora el error es el siguiente:

bash: /Users/sistemas/Library/Developer/Xcode/DerivedData/VipPagos-hfpgvurszgxsrfbydopiptqlothu/Build/Products/Debug-iphoneos/VipPagos.app/Frameworks/PaymentezSDK.framework/install_dynamic.sh: No such file or directory

guxx commented 6 years ago

Hola. Responderé cada caso -En efecto uno de los requerimientos es CommonCrypto, si te vas para instalarlo por Carthage. En el caso de la instalación manual no es necesario ya que compila e incluye en el empaqutado.

-El proyecto donde se va incluir la librería debe tener deshabiltiado bitcode.

-El error que mencionas es porque tu run phase script esta antes de Embed Frameworks. Quiere ejecutar un script antes de incluir el framework en el output. Por alguna razón de xcode guarda el orden si en un principio lo agregaste antes y luego lo corriges, ese orden queda guardado. Tienes que eliminar Derived-Data para que tome el orden correcto.

En caso de que siga persistiendo el error. En el runphasescript usa la siguiente ruta

<DIR_TO_YOUR_PROJECT>/<DIR_TO_PAYMENTEZ_SDK_FRAMEWORK>/PaymentezSDK.framework/install_dynamic.sh
Bernix01 commented 6 years ago

Sería útil que el requerimiento de proyecto de Xcode

-El proyecto donde se va incluir la librería debe tener deshabiltiado bitcode.

Se encuentre en el readme