0 Replies
      Latest reply on Oct 29, 2019 9:51 AM by ohernandezIBM
      ohernandezIBM Level 1 Level 1 (0 points)

        I am creating a universal dynamic library

         

        # Build the framework for device and for simulator (using

        # all needed architectures).

        xcodebuild -target "${TARGET_NAME}" -configuration Release -arch arm64e -arch arm64 -arch armv7 -arch armv7s only_active_arch=no defines_module=yes -sdk "iphoneos" ENABLE_BITCODE=YES OTHER_CFLAGS="-fembed-bitcode" BITCODE_GENERATION_MODE=bitcode CONFIGURATION_BUILD_DIR="${SRCROOT}/build/Release-iphoneos" UseModernBuildSystem=YES SUPPORTS_MACCATALYST=NO OBJROOT="$OBJROOT/DependentBuilds"

        xcodebuild -target "${TARGET_NAME}" -configuration Release -arch x86_64 -arch i386 only_active_arch=no defines_module=yes -sdk "iphonesimulator" ENABLE_BITCODE=YES OTHER_CFLAGS="-fembed-bitcode" BITCODE_GENERATION_MODE=bitcode CONFIGURATION_BUILD_DIR="${SRCROOT}/build/Release-iphonesimulator" UseModernBuildSystem=YES SUPPORTS_MACCATALYST=NO OBJROOT="$OBJROOT/DependentBuilds"

         

        # Replace the framework executable within the framework with

        # a new version created by merging the device and simulator

        # frameworks' executables with lipo.

        lipo -create -output "${HOME}/Desktop/${FRAMEWORK_NAME}Dynamic/Release/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}" "${SRCROOT}/build/Release-iphoneos/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}" "${SRCROOT}/build/Release-iphonesimulator/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}"

        lipo -create -output "${SRCROOT}/../../../iOSAutoSrc/LibraryBuilds/DynamicFrameworks/Release/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}" "${SRCROOT}/build/Release-iphoneos/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}" "${SRCROOT}/build/Release-iphonesimulator/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}"

         

        Then using:

         

        otool -arch arm64e -l "${HOME}/Desktop/${FRAMEWORK_NAME}Dynamic/Release/${FRAMEWORK_NAME}.framework/${FRAMEWORK_NAME}" | grep  __LLVM

         

        This works for arm64 and armv7s, but not for arm64e. What is missing?