@@ -19,6 +19,11 @@ TARGETS=(
19
19
aarch64-apple-watchos-sim
20
20
x86_64-apple-watchos-sim
21
21
arm64_32-apple-watchos
22
+
23
+ # tvOS and simulator
24
+ aarch64-apple-tvos
25
+ aarch64-apple-tvos-sim
26
+ x86_64-apple-tvos
22
27
)
23
28
VERSION=0.4.2
24
29
@@ -40,6 +45,21 @@ function generatePlist() {
40
45
EOF
41
46
)
42
47
min_os_version=" 9.0" ;;
48
+ * " tvos" * )
49
+ additional_keys=$( cat << EOF
50
+ <key>CFBundleSupportedPlatforms</key>
51
+ <array>
52
+ <string>AppleTVOS</string>
53
+ </array>
54
+ <key>MinimumOSVersion</key>
55
+ <string>13.0</string>
56
+ <key>UIDeviceFamily</key>
57
+ <array>
58
+ <integer>3</integer>
59
+ </array>
60
+ EOF
61
+ )
62
+ min_os_version=" 13.0" ;;
43
63
* )
44
64
min_os_version=" 11.0" ;;
45
65
esac
@@ -77,6 +97,7 @@ function createXcframework() {
77
97
ios_plist=$( generatePlist " ios" )
78
98
macos_plist=$( generatePlist " macos" )
79
99
watchos_plist=$( generatePlist " watchos" )
100
+ tvos_plist=$( generatePlist " tvos" )
80
101
81
102
echo " ===================== create ios device framework ====================="
82
103
mkdir -p " ${BUILD_DIR} /ios-arm64/powersync-sqlite-core.framework"
@@ -117,6 +138,22 @@ function createXcframework() {
117
138
lipo ./target/aarch64-apple-watchos-sim/release_apple/libpowersync.a ./target/x86_64-apple-watchos-sim/release_apple/libpowersync.a -create -output " ${BUILD_DIR} /watchos-arm64_x86_64-simulator/powersync-sqlite-core.framework/powersync-sqlite-core"
118
139
# install_name_tool isn't necessary, we use a statically-linked library
119
140
141
+ echo " ===================== create tvos device framework ====================="
142
+ mkdir -p " ${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework"
143
+ echo " ${tvos_plist} " > " ${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework/Info.plist"
144
+ cp -f " ./target/aarch64-apple-tvos/release_apple/libpowersync.dylib" " ${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework/powersync-sqlite-core"
145
+ install_name_tool -id " @rpath/powersync-sqlite-core.framework/powersync-sqlite-core" " ${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework/powersync-sqlite-core"
146
+ # Generate dSYM for tvOS Device
147
+ dsymutil " ${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework/powersync-sqlite-core" -o " ${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework.dSYM"
148
+
149
+ echo " ===================== create tvos simulator framework ====================="
150
+ mkdir -p " ${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework"
151
+ echo " ${tvos_plist} " > " ${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework/Info.plist"
152
+ lipo ./target/aarch64-apple-tvos-sim/release_apple/libpowersync.dylib ./target/x86_64-apple-tvos/release_apple/libpowersync.dylib -create -output " ${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework/powersync-sqlite-core"
153
+ install_name_tool -id " @rpath/powersync-sqlite-core.framework/powersync-sqlite-core" " ${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework/powersync-sqlite-core"
154
+ # Generate dSYM for tvOS Simulator
155
+ dsymutil " ${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework/powersync-sqlite-core" -o " ${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework.dSYM"
156
+
120
157
echo " ===================== create xcframework ====================="
121
158
rm -rf " ${BUILD_DIR} /powersync-sqlite-core.xcframework"
122
159
@@ -129,6 +166,10 @@ function createXcframework() {
129
166
-debug-symbols " $( pwd -P) /${BUILD_DIR} /macos-arm64_x86_64/powersync-sqlite-core.framework.dSYM" \
130
167
-framework " ${BUILD_DIR} /watchos-arm64_arm64_32_armv7k/powersync-sqlite-core.framework" \
131
168
-framework " ${BUILD_DIR} /watchos-arm64_x86_64-simulator/powersync-sqlite-core.framework" \
169
+ -framework " ${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework" \
170
+ -debug-symbols " $( pwd -P) /${BUILD_DIR} /tvos-arm64/powersync-sqlite-core.framework.dSYM" \
171
+ -framework " ${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework" \
172
+ -debug-symbols " $( pwd -P) /${BUILD_DIR} /tvos-arm64_x86_64-simulator/powersync-sqlite-core.framework.dSYM" \
132
173
-output " ${BUILD_DIR} /powersync-sqlite-core.xcframework"
133
174
134
175
cp -Rf " ${BUILD_DIR} /powersync-sqlite-core.xcframework" " powersync-sqlite-core.xcframework"
0 commit comments