forked from dmsurti/AssimpKit
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild_xcframework.sh
executable file
·55 lines (35 loc) · 1.78 KB
/
build_xcframework.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh
# Abort if any command fails
set -e
WORKSPACE="AssimpKit/AssimpKit.xcworkspace"
OUTPUT_FOLDER="output"
DEVICE_ARCHIVE="$OUTPUT_FOLDER/AssimpKit.framework-iphoneos.xcarchive"
SIMULATOR_ARCHIVE="$OUTPUT_FOLDER/AssimpKit.framework-iphonesimulator.xcarchive"
CATALYST_ARCHIVE="$OUTPUT_FOLDER/AssimpKit.framework-catalyst.xcarchive"
XCFRAMEWORK_NAME="AssimpKit.xcframework"
XCFRAMEWORK_PATH="$OUTPUT_FOLDER/$XCFRAMEWORK_NAME"
FRAMEWORK_SUBPATH="Products/Library/Frameworks/AssimpKit.framework"
DSYM_SUBPATH="dSYMs/AssimpKit.framework.dSYM"
rm -rf "$OUTPUT_FOLDER"
mkdir "$OUTPUT_FOLDER"
# Device slice.
xcodebuild archive -workspace "$WORKSPACE" -scheme 'AssimpKit-iOS' -configuration Release -destination 'generic/platform=iOS' -archivePath "$DEVICE_ARCHIVE" SKIP_INSTALL=NO
# Simulator slice.
xcodebuild archive -workspace "$WORKSPACE" -scheme 'AssimpKit-iOS' -configuration Release -destination 'generic/platform=iOS Simulator' -archivePath "$SIMULATOR_ARCHIVE" SKIP_INSTALL=NO
# Mac Catalyst slice.
xcodebuild archive -workspace "$WORKSPACE" -scheme 'AssimpKit-macOS' -configuration Release -destination 'platform=macOS,arch=x86_64' -archivePath "$CATALYST_ARCHIVE" SKIP_INSTALL=NO
# Create the XCFramework
xcodebuild -create-xcframework \
-framework "$DEVICE_ARCHIVE/$FRAMEWORK_SUBPATH" \
-debug-symbols "$PWD/$DEVICE_ARCHIVE/$DSYM_SUBPATH" \
-framework "$SIMULATOR_ARCHIVE/$FRAMEWORK_SUBPATH" \
-debug-symbols "$PWD/$SIMULATOR_ARCHIVE/$DSYM_SUBPATH" \
-framework "$CATALYST_ARCHIVE/$FRAMEWORK_SUBPATH" \
-debug-symbols "$PWD/$CATALYST_ARCHIVE/$DSYM_SUBPATH" \
-output "$XCFRAMEWORK_PATH"
# Zip
pushd "$OUTPUT_FOLDER"
zip -vr "$XCFRAMEWORK_NAME.zip" "$XCFRAMEWORK_NAME" -x "*.DS_Store"
popd
CHECKSUM=`swift package compute-checksum "$XCFRAMEWORK_PATH.zip"`
echo "Checksum: $CHECKSUM"