Skip to content

Instantly share code, notes, and snippets.

@matsuda
Created April 4, 2017 00:13
Show Gist options
  • Save matsuda/92c9eb420d178581b5cf1ab6bc50a572 to your computer and use it in GitHub Desktop.
Save matsuda/92c9eb420d178581b5cf1ab6bc50a572 to your computer and use it in GitHub Desktop.
universal frameworkの作成スクリプト
INFO_PLIST="Info.plist"
FRAMEWORK_NAME=${PROJECT_NAME}
FRAMEWORK_VERSION_NUMBER=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${SRCROOT}/${PROJECT_NAME}/${INFO_PLIST})
FRAMEWORK_VERSION=A
FRAMEWORK_BUILD_PATH="${SRCROOT}/build/${CONFIGURATION}-framework"
FRAMEWORK_DIR="${FRAMEWORK_BUILD_PATH}/${FRAMEWORK_NAME}.framework"
FRAMEWORK_PACKAGE="${FRAMEWORK_NAME}-${FRAMEWORK_VERSION_NUMBER}"
FRAMEWORK_PACKAGE_NAME="${FRAMEWORK_PACKAGE}.zip"
[ -d "${FRAMEWORK_BUILD_PATH}" ] && rm -rf "${FRAMEWORK_BUILD_PATH}"
xcodebuild OTHER_CFLAGS="-fembed-bitcode" -project ${PROJECT_NAME}.xcodeproj \
-sdk iphonesimulator \
-target "${PROJECT_NAME}" \
-configuration ${CONFIGURATION} clean build
xcodebuild OTHER_CFLAGS="-fembed-bitcode" -project ${PROJECT_NAME}.xcodeproj \
-sdk iphoneos \
-target "${PROJECT_NAME}" \
-configuration ${CONFIGURATION} clean build
mkdir -p ${FRAMEWORK_DIR}
mkdir -p ${FRAMEWORK_DIR}/Versions
mkdir -p ${FRAMEWORK_DIR}/Versions/${FRAMEWORK_VERSION}
mkdir -p ${FRAMEWORK_DIR}/Versions/${FRAMEWORK_VERSION}/Resources
mkdir -p ${FRAMEWORK_DIR}/Versions/${FRAMEWORK_VERSION}/Headers
ln -s ./${FRAMEWORK_VERSION} ${FRAMEWORK_DIR}/Versions/Current
ln -s ./Versions/Current/Headers ${FRAMEWORK_DIR}/Headers
ln -s ./Versions/Current/Resources ${FRAMEWORK_DIR}/Resources
ln -s ./Versions/Current/${FRAMEWORK_NAME} ${FRAMEWORK_DIR}/${FRAMEWORK_NAME}
lipo -create \
${SRCROOT}/build/${CONFIGURATION}-iphoneos/lib${FRAMEWORK_NAME}.a \
${SRCROOT}/build/${CONFIGURATION}-iphonesimulator/lib${FRAMEWORK_NAME}.a \
-output "${FRAMEWORK_DIR}/Versions/Current/${FRAMEWORK_NAME}"
cp ${SRCROOT}/${PROJECT_NAME}/*.h ${FRAMEWORK_DIR}/Headers/
cp ${SRCROOT}/${PROJECT_NAME}/${INFO_PLIST} ${FRAMEWORK_DIR}/Resources
cd ${FRAMEWORK_BUILD_PATH}
zip -ry ${FRAMEWORK_PACKAGE_NAME} $(basename $FRAMEWORK_DIR)
#FRAMEWORK_ARCHIVE_PATH="${FRAMEWORK_BUILD_PATH}/${FRAMEWORK_PACKAGE}"
#[ ! -d "${FRAMEWORK_ARCHIVE_PATH}" ] && mkdir -p ${FRAMEWORK_ARCHIVE_PATH}
#[ -e "${FRAMEWORK_ARCHIVE_PATH}/${FRAMEWORK_PACKAGE_NAME}" ] && rm -f "${FRAMEWORK_ARCHIVE_PATH}/${FRAMEWORK_PACKAGE_NAME}"
#cp -R ${FRAMEWORK_DIR} ${FRAMEWORK_ARCHIVE_PATH}/
#zip -ry ${FRAMEWORK_PACKAGE_NAME} $(basename $FRAMEWORK_ARCHIVE_PATH)
#[ -d "${FRAMEWORK_ARCHIVE_PATH}" ] && rm -rf "${FRAMEWORK_ARCHIVE_PATH}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment