tab sheet icon guidelines buttons bar ios xcode6 ios9 xcode7 bitcode

sheet - Cree una biblioteca de iOS con Bitcode para tener compatibilidad hacia atrás con XCode 6. ¿Cómo?



status bar ios (2)

Puedes intentar crear una biblioteca de grasa usando diferentes bibliotecas.

lipo -create -output libAndreasv.a libAndreasvBitcode.a libAndreasvARMv7.a libAndreasvARM64.a

Esto solía funcionar para bibliotecas grandes (x86, x64, ARMv7, ARM64) también debería funcionar para bitcode.

Estoy creando una biblioteca estática de iOS y quiero proporcionar soporte para el código de bits. Para lograr eso, voy a la configuración de compilación, busco "banderas de compilador personalizadas" y agrego -fembed-bitcode. Esto construye la biblioteca con código de bits y todo funciona bien bajo XCode 7.

Sin embargo, al seguir el enfoque anterior, pierdo la compatibilidad con XCode 6. Dicho esto, debo enviar 2 versiones de biblioteca diferentes a mis usuarios, una con indicador de código de bits y otra sin ya que no todos han actualizado a XCode 7

¿Hay alguna forma de tener una biblioteca habilitada con código de bits y tener compatibilidad con versiones anteriores sin tener que enviar 2 versiones diferentes?

ACTUALIZAR:

Hola, @Vinicius Jarina, gracias por tu mensaje. Entiendo que puede crear una biblioteca grande, que supongo que es una práctica común. Lo que estaba haciendo hasta ahora era construir para ambas arquitecturas:

xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdK iphoneos xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator

y luego llame a lipo para empaquetar en una biblioteca grande como:

lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/Versions/${FMK_VERSION}/${FMK_NAME}"

Sin embargo, ¿cómo puedo hacerlo ahora? Intenté algo como esto basado en este link , pero sin suerte:

xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator xcodebuild -configuration "Release" OTHER_CFLAGS=''-fembed-bitcode'' -target "${FMK_NAME}" -sdk iphonesimulator xcodebuild -configuration "Release" OTHER_CFLAGS=''-fembed-bitcode'' -target "${FMK_NAME}" -sdk iphoneos

y luego crear un lib gordo como este:

lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/Versions/${FMK_VERSION}/${FMK_NAME}"

¿Cómo puedo integrar mi scipt para incluir ambos y luego empaquetarlos en una biblioteca de grasa?

ACTUALIZACIÓN 2:

Finalmente logré hacer este trabajo y enumero aquí mi solución para otros que pueden enfrentar el mismo problema:

xcodebuild -configuration "Release" ENABLE_BITCODE=NO -target "${FMK_NAME}" -sdK iphoneos xcodebuild -configuration "Release" ENABLE_BITCODE=NO -target "${FMK_NAME}" -sdk iphonesimulator xcodebuild -configuration "Release" ENABLE_BITCODE=YES -target "${FMK_NAME}" -sdk iphonesimulator xcodebuild -configuration "Release" ENABLE_BITCODE=YES -target "${FMK_NAME}" -sdk iphoneos

y luego crear un lib gordo como este:

lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/Versions/${FMK_VERSION}/${FMK_NAME}"


Tal vez me esté faltando algo, pero no creo que pueda tener arquitecturas duplicadas en una biblioteca grande, independientemente de si el código de bits está habilitado / deshabilitado. Por ejemplo, el siguiente comando me causa un error:

lipo -create libcurl_iOS_bitcode.a libcurl_iOS_nobitcode.a -output libcurl_iOS_both.a fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: libcurl_iOS_bitcode.a and libcurl_iOS_nobitcode.a have the same architectures (armv7) and can''t be in the same fat output file