Add iOS app with CarPlay and Siri
SwiftUI port of the Android app under ios/, with CarPlay browse and Now Playing, Siri play-media intents, and a build-ipa.sh script that makes an unsigned IPA for sideloading. README gets an iOS section and the vibecoded disclaimer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
45bc0eefe0
commit
fdf9e970b2
45 files changed
+9822
No files matched your search
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
# Builds an unsigned Stemify.ipa on a Mac, for re-signing with Sideloadly/AltStore.
|
||||
# Uses swiftc directly so it works even when xcodebuild/actool need -runFirstLaunch.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
export PATH=/opt/homebrew/bin:$PATH
|
||||
OUT=build; APP=$OUT/Payload/Stemify.app
|
||||
rm -rf $OUT && mkdir -p $APP
|
||||
SDK=$(xcrun --sdk iphoneos --show-sdk-path)
|
||||
|
||||
xcrun -sdk iphoneos swiftc -target arm64-apple-ios17.0 -sdk "$SDK" -O -wmo -swift-version 5 \
|
||||
-module-name Stemify -parse-as-library $(find Stemify -name '*.swift') -o $APP/Stemify
|
||||
|
||||
# Info.plist: xcodegen's generated one with the build settings filled in.
|
||||
xcodegen generate -q
|
||||
sed -e 's/$(DEVELOPMENT_LANGUAGE)/en/; s/$(EXECUTABLE_NAME)/Stemify/; s/$(PRODUCT_BUNDLE_IDENTIFIER)/com.stemify.mobile/' \
|
||||
-e 's/$(PRODUCT_NAME)/Stemify/; s/$(MARKETING_VERSION)/1.0/; s/$(CURRENT_PROJECT_VERSION)/1/' \
|
||||
-e 's/$(PRODUCT_MODULE_NAME)/Stemify/' Stemify/Info.plist > $APP/Info.plist
|
||||
P=$APP/Info.plist
|
||||
plutil -insert MinimumOSVersion -string 17.0 $P
|
||||
plutil -insert CFBundleSupportedPlatforms -json '["iPhoneOS"]' $P
|
||||
plutil -insert UIDeviceFamily -json '[1]' $P
|
||||
plutil -insert UIRequiredDeviceCapabilities -json '["arm64"]' $P
|
||||
plutil -insert DTPlatformName -string iphoneos $P
|
||||
plutil -insert CFBundleIcons -json '{"CFBundlePrimaryIcon":{"CFBundleIconFiles":["AppIcon60x60"]}}' $P
|
||||
plutil -lint $P
|
||||
printf 'APPL????' > $APP/PkgInfo
|
||||
|
||||
# Loose icon files, since actool also needs -runFirstLaunch.
|
||||
SRC=Stemify/Resources/Assets.xcassets/AppIcon.appiconset/icon.png
|
||||
sips -z 120 120 $SRC --out $APP/AppIcon60x60@2x.png >/dev/null
|
||||
sips -z 180 180 $SRC --out $APP/AppIcon60x60@3x.png >/dev/null
|
||||
|
||||
(cd $OUT && zip -qry Stemify.ipa Payload)
|
||||
echo "$OUT/Stemify.ipa"
|
||||
Reference in new issue
Block a user