Skip to content

Commit cc143b0

Browse files
committed
Add a new script that creates xcframework
1 parent 3407cac commit cc143b0

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

scripts/build-framework.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
BASE_PWD="$PWD"
6+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
7+
OUTPUT_DIR=$( mktemp -d )
8+
COMMON_SETUP="-project ${SCRIPT_DIR}/../ASCollectionView.xcodeproj -scheme ASCollectionViewFramework -configuration Release -quiet SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES"
9+
10+
# iOS
11+
DERIVED_DATA_PATH=$( mktemp -d )
12+
xcrun xcodebuild build \
13+
$COMMON_SETUP \
14+
-derivedDataPath "${DERIVED_DATA_PATH}" \
15+
-destination 'generic/platform=iOS'
16+
17+
mkdir -p "${OUTPUT_DIR}/iphoneos"
18+
cp -r "${DERIVED_DATA_PATH}/Build/Products/Release-iphoneos/ASCollectionViewFramework.framework" "${OUTPUT_DIR}/iphoneos"
19+
rm -rf "${DERIVED_DATA_PATH}"
20+
21+
# iOS Simulator
22+
DERIVED_DATA_PATH=$( mktemp -d )
23+
xcrun xcodebuild build \
24+
$COMMON_SETUP \
25+
-derivedDataPath "${DERIVED_DATA_PATH}" \
26+
-destination 'generic/platform=iOS Simulator'
27+
28+
mkdir -p "${OUTPUT_DIR}/iphonesimulator"
29+
cp -r "${DERIVED_DATA_PATH}/Build/Products/Release-iphonesimulator/ASCollectionViewFramework.framework" "${OUTPUT_DIR}/iphonesimulator"
30+
rm -rf "${DERIVED_DATA_PATH}"
31+
32+
# XCFRAMEWORK
33+
xcrun xcodebuild -create-xcframework \
34+
-framework "${OUTPUT_DIR}/iphoneos/ASCollectionViewFramework.framework" \
35+
-framework "${OUTPUT_DIR}/iphonesimulator/ASCollectionViewFramework.framework" \
36+
-output ${OUTPUT_DIR}/ASCollectionView.xcframework
37+
38+
ditto -c -k --keepParent ${OUTPUT_DIR}/ASCollectionView.xcframework ASCollectionView.xcframework.zip
39+
40+
echo "✔️ ASCollectionView.xcframework"
41+
42+
rm -rf ${OUTPUT_DIR}
43+
44+
cd ${BASE_PWD}

0 commit comments

Comments
 (0)