54 lines
2.0 KiB
Bash
Executable File
54 lines
2.0 KiB
Bash
Executable File
#!/bin/bash -3
|
|
|
|
unset TOOLCHAINS #Xcode 7.3 BUG FIX http://stackoverflow.com/questions/36184930/xcodebuild-7-3-cant-enable-bitcode
|
|
|
|
# define variables
|
|
C_PROJECT_NAME="VDS"
|
|
PHONE_CONFIGURATION="Release"
|
|
BUILD_DIR=$(xcodebuild -showBuildSettings -project ./${C_PROJECT_NAME}.xcodeproj | grep -w -o 'BUILD_DIR = .*' | cut -d\ -f3-)
|
|
PHONE_ARCHIVE_PATH="${BUILD_DIR}/${PHONE_CONFIGURATION}-iphoneos/${C_PROJECT_NAME}.xcarchive"
|
|
SIMULATOR_CONFIGURATION="Debug"
|
|
SIMULATOR_ARCHIVE_PATH="${BUILD_DIR}/${SIMULATOR_CONFIGURATION}-iphonesimulator/${C_PROJECT_NAME}.xcarchive"
|
|
FRAMEWORKS_DIR=$BUILD_DIR/../../../Frameworks/VDS
|
|
UNIVERSAL_OUTPUTFOLDER="${BUILD_DIR}/universal"
|
|
|
|
# Build device archive
|
|
xcodebuild archive \
|
|
-scheme "${C_PROJECT_NAME}" \
|
|
-configuration ${PHONE_CONFIGURATION} \
|
|
-archivePath "${PHONE_ARCHIVE_PATH}" \
|
|
-sdk iphoneos \
|
|
-destination 'generic/platform=iOS' \
|
|
-quiet \
|
|
SKIP_INSTALL=NO \
|
|
ONLY_ACTIVE_ARCH=NO \
|
|
FRAMEWORK_SEARCH_PATHS="$FRAMEWORKS_DIR" \
|
|
ALWAYS_SEARCH_USER_PATHS=true
|
|
|
|
# Build simulator archive
|
|
xcodebuild archive \
|
|
-scheme "${C_PROJECT_NAME}" \
|
|
-configuration ${SIMULATOR_CONFIGURATION} \
|
|
-archivePath "${SIMULATOR_ARCHIVE_PATH}" \
|
|
-sdk iphonesimulator \
|
|
-destination 'generic/platform=iOS Simulator' \
|
|
-quiet \
|
|
SKIP_INSTALL=NO \
|
|
ONLY_ACTIVE_ARCH=NO \
|
|
FRAMEWORK_SEARCH_PATHS=$FRAMEWORKS_DIR \
|
|
ALWAYS_SEARCH_USER_PATHS=true
|
|
|
|
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
|
|
|
|
# Remove any existing xc framework.
|
|
rm -rf ${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.xcframework
|
|
|
|
# Create the xcframework in the universal output folder.
|
|
xcodebuild -create-xcframework \
|
|
-framework "${PHONE_ARCHIVE_PATH}/Products/Library/Frameworks/${C_PROJECT_NAME}.framework" \
|
|
-framework "${SIMULATOR_ARCHIVE_PATH}/Products/Library/Frameworks/${C_PROJECT_NAME}.framework" \
|
|
-output ${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.xcframework
|
|
|
|
# Copy the dSYM file as well.
|
|
ditto "${PHONE_ARCHIVE_PATH}/dSYMs/${C_PROJECT_NAME}.framework.dSYM" "${UNIVERSAL_OUTPUTFOLDER}/${C_PROJECT_NAME}.xcframework.dSYM"
|