experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

build(ios): pin IPHONEOS_DEPLOYMENT_TARGET=16.0 for cargo iOS builds

cc-compiled object files inside libpeek_core.a, e.g. sqlite3.o from rusqlite, defaulted to the current iOS SDK (26.x) instead of the project iOS 16.0 deployment target — Xcode emits "Object file was built for newer iOS version than being linked" warnings during archive.

Sets the env var via .cargo/config.toml [env] in both the src-tauri and peek-core crates so it covers direct cargo invocations and tauri ios build, plus an explicit export in build-xcframework.sh as belt-and-suspenders for the script-driven path.

+28
+12
backend/tauri-mobile/peek-core/.cargo/config.toml
··· 1 + # Pin the iOS deployment target for cc-compiled object files (e.g. sqlite3.o 2 + # from rusqlite) so they match the Xcode project iOS 16.0 target 3 + # (see src-tauri/gen/apple/project.yml deploymentTarget.iOS = 16.0). 4 + # 5 + # Without this, cc defaults to the current SDK (e.g. 26.x) and Xcode emits 6 + # "Object file was built for newer iOS version than being linked" warnings 7 + # when the resulting libpeek_core.a is linked into the app target. 8 + # 9 + # Mirrored in build-xcframework.sh as belt-and-suspenders. [env] covers 10 + # any direct cargo invocation in this crate too. 11 + [env] 12 + IPHONEOS_DEPLOYMENT_TARGET = "16.0"
+6
backend/tauri-mobile/peek-core/build-xcframework.sh
··· 22 22 SIM_TARGET="aarch64-apple-ios-sim" 23 23 DEVICE_TARGET="aarch64-apple-ios" 24 24 25 + # Match the Xcode project iOS deployment target (see src-tauri/gen/apple/project.yml 26 + # deploymentTarget.iOS = 16.0) so cc-compiled objects inside the static lib 27 + # (e.g. sqlite3.o from rusqlite) do not emit "built for newer iOS version" linker 28 + # warnings when Xcode links them into the app target. 29 + export IPHONEOS_DEPLOYMENT_TARGET=16.0 30 + 25 31 SIM_ONLY=false 26 32 if [[ "${1:-}" == "--sim" ]]; then 27 33 SIM_ONLY=true
+10
backend/tauri-mobile/src-tauri/.cargo/config.toml
··· 1 1 # Android 16KB page alignment is handled in build.rs and peek-core/build.rs 2 2 # via cargo:rustc-link-arg. This file is intentionally minimal because 3 3 # the Tauri CLI sets CARGO_ENCODED_RUSTFLAGS which overrides rustflags here. 4 + 5 + # Pin the iOS deployment target for cc-compiled object files (e.g. sqlite3.o 6 + # from rusqlite) so they match the Xcode project iOS 16.0 target. Without 7 + # this, cc defaults to the current SDK (e.g. 26.x) and Xcode emits 8 + # "Object file was built for newer iOS version than being linked" warnings. 9 + # [env] is the most reliable place for this — it covers both our shell 10 + # scripts and "tauri ios build" invoked by build-archive.sh, and is not 11 + # affected by CARGO_ENCODED_RUSTFLAGS. 12 + [env] 13 + IPHONEOS_DEPLOYMENT_TARGET = "16.0"