Skip to content

Commit e44cf5b

Browse files
authored
Create versions directory and symbolic links for frameworks (#41)
* Create versions directory and symbolic links for frameworks * Create resources directory and symlink * Update readme * Revert removing old framework
1 parent 212545f commit e44cf5b

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ sqlite3 ":memory:" ".load ./target/debug/libpowersync" "select powersync_rs_vers
5050
cargo build -p powersync_loadable --release
5151

5252
# Build for iOS
53-
./all-ios-loadable.sh
53+
./tool/build_xcframework.sh
5454
```
5555

5656
# Acknowledgements

tool/build_xcframework.sh

+21-13
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,31 @@ function createXcframework() {
3636
EOF
3737
)
3838
echo "===================== create ios device framework ====================="
39-
mkdir -p "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework"
40-
echo "${plist}" > "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/Info.plist"
41-
cp -f "./target/aarch64-apple-ios/release/libpowersync.dylib" "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/powersync-sqlite-core"
42-
install_name_tool -id "@rpath/powersync-sqlite-core.framework/powersync-sqlite-core" "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/powersync-sqlite-core"
43-
39+
mkdir -p "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/Versions/A/Resources"
40+
echo "${plist}" > "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/Versions/A/Resources/Info.plist"
41+
cp -f "./target/aarch64-apple-ios/release/libpowersync.dylib" "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
42+
install_name_tool -id "@rpath/powersync-sqlite-core.framework/powersync-sqlite-core" "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
43+
ln -s A "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/Versions/Current" #Symbolic link A to the current version directory
44+
ln -s Versions/Current/powersync-sqlite-core "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/powersync-sqlite-core" #Symbolic link the binary
45+
ln -s Versions/Current/Resources "${BUILD_DIR}/ios-arm64/powersync-sqlite-core.framework/Resources" #Symbolic link the resources
4446

4547
echo "===================== create ios simulator framework ====================="
46-
mkdir -p "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework"
47-
echo "${plist}" > "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/Info.plist"
48-
lipo ./target/aarch64-apple-ios-sim/release/libpowersync.dylib ./target/x86_64-apple-ios/release/libpowersync.dylib -create -output "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/powersync-sqlite-core"
49-
install_name_tool -id "@rpath/powersync-sqlite-core.framework/powersync-sqlite-core" "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/powersync-sqlite-core"
48+
mkdir -p "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/Versions/A/Resources"
49+
echo "${plist}" > "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/Versions/A/Resources/Info.plist"
50+
lipo ./target/aarch64-apple-ios-sim/release/libpowersync.dylib ./target/x86_64-apple-ios/release/libpowersync.dylib -create -output "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
51+
install_name_tool -id "@rpath/powersync-sqlite-core.framework/powersync-sqlite-core" "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
52+
ln -s A "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/Versions/Current"
53+
ln -s Versions/Current/powersync-sqlite-core "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/powersync-sqlite-core"
54+
ln -s Versions/Current/Resources "${BUILD_DIR}/ios-arm64_x86_64-simulator/powersync-sqlite-core.framework/Resources"
5055

5156
echo "===================== create macos framework ====================="
52-
mkdir -p "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework"
53-
echo "${plist}" > "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Info.plist"
54-
lipo ./target/x86_64-apple-darwin/release/libpowersync.dylib ./target/aarch64-apple-darwin/release/libpowersync.dylib -create -output "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/powersync-sqlite-core"
55-
install_name_tool -id "@rpath/powersync-sqlite-core.framework/powersync-sqlite-core" "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/powersync-sqlite-core"
57+
mkdir -p "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Versions/A/Resources"
58+
echo "${plist}" > "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Versions/A/Resources/Info.plist"
59+
lipo ./target/x86_64-apple-darwin/release/libpowersync.dylib ./target/aarch64-apple-darwin/release/libpowersync.dylib -create -output "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
60+
install_name_tool -id "@rpath/powersync-sqlite-core.framework/powersync-sqlite-core" "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Versions/A/powersync-sqlite-core"
61+
ln -s A "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Versions/Current"
62+
ln -s Versions/Current/powersync-sqlite-core "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/powersync-sqlite-core"
63+
ln -s Versions/Current/Resources "${BUILD_DIR}/macos-arm64_x86_64/powersync-sqlite-core.framework/Resources"
5664

5765
echo "===================== create xcframework ====================="
5866
rm -rf "${BUILD_DIR}/powersync-sqlite-core.xcframework"

0 commit comments

Comments
 (0)