From 178bf926f2ba4955a4e4b0939e47e48d7a64e238 Mon Sep 17 00:00:00 2001 From: Vijay Vikram Singh Date: Thu, 6 Aug 2020 12:38:39 -0700 Subject: [PATCH] fix(ios): exclude arm64 architecture from simulator build (#11844) * fix(ios): itemclick event its firing instead of a move event when ordering items in a list iOS 13+ * fix(ios): remove arm64 architecture from simulator build * If xcode < 12 do not use EXCLUDED_ARCHS Fixes TIMOB-28042 --- .../TitaniumKit/Scripts/build-universal-framework.sh | 10 ++++++++-- iphone/cli/commands/_buildModule.js | 5 +++++ support/iphone/build_titaniumkit.sh | 9 +++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/iphone/TitaniumKit/TitaniumKit/Scripts/build-universal-framework.sh b/iphone/TitaniumKit/TitaniumKit/Scripts/build-universal-framework.sh index 9f20d56e04d..3f4ad90f91c 100755 --- a/iphone/TitaniumKit/TitaniumKit/Scripts/build-universal-framework.sh +++ b/iphone/TitaniumKit/TitaniumKit/Scripts/build-universal-framework.sh @@ -16,12 +16,19 @@ UNIVERSAL_LIBRARY_DIR="${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal" FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${FRAMEWORK_NAME}.framework" +XCODE_VERSION=$(/usr/libexec/PlistBuddy -c "Print :DTXcode" "$(xcode-select -p)/../Info.plist") ###################### # Build Frameworks ###################### -xcodebuild -scheme ${PROJECT_NAME} -sdk iphonesimulator -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator 2>&1 +# Exclude arm64 architecture from simulator build in XCode 12+- TIMOB-28042 + +if [[ $XCODE_VERSION -ge 1200 ]]; then +xcodebuild -scheme ${PROJECT_NAME} -sdk iphonesimulator EXCLUDED_ARCHS=arm64 -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator 2>&1 +else +xcodebuild -scheme ${PROJECT_NAME} -sdk iphonesimulator -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator 2>&1 +fi xcodebuild -scheme ${PROJECT_NAME} -sdk iphoneos -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphoneos 2>&1 @@ -42,7 +49,6 @@ mkdir "${FRAMEWORK}" cp -r "${DEVICE_LIBRARY_PATH}/." "${FRAMEWORK}" - ###################### # Make an universal binary ###################### diff --git a/iphone/cli/commands/_buildModule.js b/iphone/cli/commands/_buildModule.js index 6f9035b4843..8188c2c2442 100644 --- a/iphone/cli/commands/_buildModule.js +++ b/iphone/cli/commands/_buildModule.js @@ -473,6 +473,11 @@ iOSModuleBuilder.prototype.buildModule = function buildModule(next) { args.push('CONFIGURATION_BUILD_DIR=' + path.join(this.projectDir, 'build', 'Release-' + target)); } + // Exclude arm64 architecture from simulator build in XCode 12+ - TIMOB-28042 + if (target === 'iphonesimulator' && parseFloat(this.xcodeEnv.version) >= 12.0) { + args.push('EXCLUDED_ARCHS=arm64'); + } + return args; }.bind(this); diff --git a/support/iphone/build_titaniumkit.sh b/support/iphone/build_titaniumkit.sh index c8307c85e22..8774a3107bd 100755 --- a/support/iphone/build_titaniumkit.sh +++ b/support/iphone/build_titaniumkit.sh @@ -44,6 +44,8 @@ sed -i '' 's@__GITHASH__@'"$GIT_HASH"'@g' TitaniumKit/Sources/API/TopTiModule.m REVEAL_ARCHIVE_IN_FINDER=false +XCODE_VERSION=$(/usr/libexec/PlistBuddy -c "Print :DTXcode" "$(xcode-select -p)/../Info.plist") + FRAMEWORK_NAME="TitaniumKit" SIMULATOR_LIBRARY_PATH="$(pwd)/build/Release-iphonesimulator/${FRAMEWORK_NAME}.framework" @@ -61,8 +63,15 @@ FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${FRAMEWORK_NAME}.framework" XCPRETTY="xcpretty" which xcpretty || XCPRETTY="cat" +# Exclude arm64 architecture from simulator build in XCode 12+ - TIMOB-28042 + +if [[ $XCODE_VERSION -ge 1200 ]]; then +xcodebuild -scheme TitaniumKit -sdk iphonesimulator EXCLUDED_ARCHS=arm64 -configuration Release clean build CONFIGURATION_BUILD_DIR=build/Release-iphonesimulator | eval $XCPRETTY +[[ PIPESTATUS[0] -ne 0 ]] && exit 1 + else xcodebuild -scheme TitaniumKit -sdk iphonesimulator -configuration Release clean build CONFIGURATION_BUILD_DIR=build/Release-iphonesimulator | eval $XCPRETTY [[ PIPESTATUS[0] -ne 0 ]] && exit 1 +fi xcodebuild -scheme TitaniumKit -sdk iphoneos -configuration Release clean build CONFIGURATION_BUILD_DIR=build/Release-iphoneos | eval $XCPRETTY [[ PIPESTATUS[0] -ne 0 ]] && exit 1