-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_xcframework.sh
More file actions
68 lines (58 loc) · 3.39 KB
/
build_xcframework.sh
File metadata and controls
68 lines (58 loc) · 3.39 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/zsh
cd `dirname $0`
echo "Cleaning up"
rm -rf **/Universal
build_xcframwork()
{
echo "Building XCFramework for $1"
mkdir -p Mac/Universal
cp -a Mac/x64/$1.framework Mac/Universal
cp -a Mac/x64/$1.dSYM Mac/Universal
lipo -create Mac/arm64/$1.framework/$1 Mac/x64/$1.framework/$1 -o temp
lipo -create Mac/arm64/$1.dSYM/Contents/Resources/DWARF/$1 Mac/x64/$1.dSYM/Contents/Resources/DWARF/$1 -o temp.dSYM
mv temp Mac/Universal/$1.framework/Versions/A/$1
mv temp.dSYM Mac/Universal/$1.dSYM/Contents/Resources/DWARF/$1
mkdir -p Catalyst/Universal
cp -a Catalyst/x64/$1.framework Catalyst/Universal
cp -a Catalyst/x64/$1.dSYM Catalyst/Universal
lipo -create Catalyst/arm64/$1.framework/$1 Catalyst/x64/$1.framework/$1 -o temp
lipo -create Catalyst/arm64/$1.dSYM/Contents/Resources/DWARF/$1 Catalyst/x64/$1.dSYM/Contents/Resources/DWARF/$1 -o temp.dSYM
mv temp Catalyst/Universal/$1.framework/Versions/A/$1
mv temp.dSYM Catalyst/Universal/$1.dSYM/Contents/Resources/DWARF/$1
mkdir -p Simulator/Universal
cp -a Simulator/x64/$1.framework Simulator/Universal
cp -a Simulator/x64/$1.dSYM Simulator/Universal
lipo -create Simulator/arm64/$1.framework/$1 Simulator/x64/$1.framework/$1 -o temp
lipo -create Simulator/arm64/$1.dSYM/Contents/Resources/DWARF/$1 Simulator/x64/$1.dSYM/Contents/Resources/DWARF/$1 -o temp.dSYM
mv temp Simulator/Universal/$1.framework/$1
mv temp.dSYM Simulator/Universal/$1.dSYM/Contents/Resources/DWARF/$1
mkdir -p VisionOSSimulator/Universal
cp -a VisionOSSimulator/x64/$1.framework VisionOSSimulator/Universal
cp -a VisionOSSimulator/x64/$1.dSYM VisionOSSimulator/Universal
lipo -create VisionOSSimulator/arm64/$1.framework/$1 VisionOSSimulator/x64/$1.framework/$1 -o temp
lipo -create VisionOSSimulator/arm64/$1.dSYM/Contents/Resources/DWARF/$1 VisionOSSimulator/x64/$1.dSYM/Contents/Resources/DWARF/$1 -o temp.dSYM
mv temp VisionOSSimulator/Universal/$1.framework/$1
mv temp.dSYM VisionOSSimulator/Universal/$1.dSYM/Contents/Resources/DWARF/$1
mkdir -p TVOSSimulator/Universal
cp -a TVOSSimulator/x64/$1.framework TVOSSimulator/Universal
cp -a TVOSSimulator/x64/$1.dSYM TVOSSimulator/Universal
lipo -create TVOSSimulator/arm64/$1.framework/$1 TVOSSimulator/x64/$1.framework/$1 -o temp
lipo -create TVOSSimulator/arm64/$1.dSYM/Contents/Resources/DWARF/$1 TVOSSimulator/x64/$1.dSYM/Contents/Resources/DWARF/$1 -o temp.dSYM
mv temp TVOSSimulator/Universal/$1.framework/$1
mv temp.dSYM TVOSSimulator/Universal/$1.dSYM/Contents/Resources/DWARF/$1
if [ "$1" = "libEGL" ]; then
cp PrivacyInfo.xcprivacy iOS/arm64/$1.framework
cp PrivacyInfo.xcprivacy VisionOS/arm64/$1.framework
fi
xcodebuild -create-xcframework -framework `pwd`/iOS/arm64/$1.framework \
-framework `pwd`/VisionOS/arm64/$1.framework \
-framework `pwd`/VisionOSSimulator/Universal/$1.framework \
-framework `pwd`/TVOS/arm64/$1.framework \
-framework `pwd`/TVOSSimulator/Universal/$1.framework \
-framework `pwd`/Catalyst/Universal/$1.framework \
-framework `pwd`/Simulator/Universal/$1.framework \
-framework `pwd`/Mac/Universal/$1.framework \
-output $1.xcframework
}
build_xcframwork "libEGL"
build_xcframwork "libGLESv2"