Current section
Files
Jump to
Current section
Files
ios/prepare_rust.sh
#!/bin/bash
# prepare_rust.sh - Prepare Rust libraries for iOS build
# This should be run before building the Xcode project
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "=== Building Rust libraries for iOS ==="
# Build Rust libraries
cd "$SCRIPT_DIR/rust"
./build_ios.sh
# Copy libraries to expected locations
echo ""
echo "=== Copying libraries to Xcode project ==="
# Create Frameworks directory if it doesn't exist
mkdir -p "$SCRIPT_DIR/Frameworks"
# Copy device library (arm64)
if [ -f "$SCRIPT_DIR/rust/target/aarch64-apple-ios/release/libdala_beam_ios.a" ]; then
cp "$SCRIPT_DIR/rust/target/aarch64-apple-ios/release/libdala_beam_ios.a" \
"$SCRIPT_DIR/Frameworks/libdala_beam_ios_device.a"
echo "✓ Copied device library"
else
echo "✗ Device library not found"
exit 1
fi
# Copy simulator libraries
if [ -f "$SCRIPT_DIR/rust/target/aarch64-apple-ios-sim/release/libdala_beam_ios.a" ] && \
[ -f "$SCRIPT_DIR/rust/target/x86_64-apple-ios/release/libdala_beam_ios.a" ]; then
# Create universal simulator library
lipo -create \
"$SCRIPT_DIR/rust/target/aarch64-apple-ios-sim/release/libdala_beam_ios.a" \
"$SCRIPT_DIR/rust/target/x86_64-apple-ios/release/libdala_beam_ios.a" \
-output "$SCRIPT_DIR/Frameworks/libdala_beam_ios_simulator.a"
echo "✓ Created universal simulator library"
else
echo "✗ Simulator libraries not found"
exit 1
fi
# Copy driver table library
if [ -f "$SCRIPT_DIR/rust/target/aarch64-apple-ios/release/libdriver_tab_ios.a" ]; then
cp "$SCRIPT_DIR/rust/target/aarch64-apple-ios/release/libdriver_tab_ios.a" \
"$SCRIPT_DIR/Frameworks/libdriver_tab_ios_device.a"
echo "✓ Copied driver table device library"
else
echo "✗ Driver table device library not found"
exit 1
fi
echo ""
echo "=== Build complete ==="
echo "Libraries are in: $SCRIPT_DIR/Frameworks/"
echo ""
echo "Next steps:"
echo "1. Open Xcode project"
echo "2. Add the .a files from Frameworks/ to your project"
echo "3. Ensure they're linked in Build Settings > Link Binary With Libraries"
echo "4. Add a Run Script build phase to call this script automatically"