Uitrol 16-10-2026 15:41

This commit is contained in:
jf
2026-10-16 15:41:06 +02:00
parent e9fcd0a10c
commit bf56d8e025
15 changed files with 295 additions and 5 deletions
+70
View File
@@ -0,0 +1,70 @@
#!/usr/bin/env bash
# Bouwt (en start) de iOS-app op een Mac.
#
# tools/ios-bouwen.sh controle alleen kijken of de Mac er klaar voor is
# tools/ios-bouwen.sh simulator bouwen en starten in de iPhone-simulator (geen account nodig)
# tools/ios-bouwen.sh toestel bouwen en op een aangesloten iPhone zetten (Apple-ID / team nodig)
#
# Eerste keer: chmod +x tools/ios-bouwen.sh
set -euo pipefail
cd "$(dirname "$0")/.."
PROJECT="src/MijnBesluit.App/MijnBesluit.App.csproj"
TFM="net10.0-ios"
MODUS="${1:-controle}"
stap() { printf '\n==> %s\n' "$*"; }
stop() { printf '\nMISLUKT: %s\n' "$*" >&2; exit 1; }
controle() {
stap "Controle van de Mac"
[[ "$(uname)" == "Darwin" ]] || stop "dit script draait alleen op macOS."
command -v xcodebuild >/dev/null || stop "Xcode ontbreekt. Installeer Xcode uit de App Store."
xcodebuild -version
xcodebuild -checkFirstLaunchStatus >/dev/null 2>&1 \
|| stop "Open Xcode één keer met de hand en accepteer de licentie (of: sudo xcodebuild -runFirstLaunch)."
command -v dotnet >/dev/null || stop ".NET SDK ontbreekt. Installeer .NET 10 van https://dotnet.microsoft.com/download"
dotnet --version
if ! dotnet workload list 2>/dev/null | grep -q '^maui-ios\|^maui '; then
stap "MAUI-werkbelasting voor iOS ontbreekt; installeren"
dotnet workload install maui-ios
fi
dotnet workload list
echo; echo "Mac is klaar."
}
case "$MODUS" in
controle)
controle
;;
simulator)
controle
stap "Bouwen en starten in de simulator"
# Eerst de lijst met simulators tonen, zodat je ziet welke je kunt kiezen.
xcrun simctl list devices available | grep -i iphone | head -5 || true
dotnet build "$PROJECT" -f "$TFM" -p:MetIos=true -t:Run \
-p:RuntimeIdentifier=iossimulator-arm64
;;
toestel)
controle
stap "Aangesloten toestellen"
xcrun devicectl list devices || true
echo
echo "Voor een echt toestel moet in Xcode een team gekozen zijn (Settings > Accounts, Apple-ID"
echo "toevoegen) en moet het toestel in Ontwikkelaarsmodus staan"
echo "(Instellingen > Privacy en beveiliging > Ontwikkelaarsmodus)."
echo "Zonder betaald account werkt dit 7 dagen per installatie, en zonder meldingen."
stap "Bouwen voor het toestel"
dotnet build "$PROJECT" -f "$TFM" -p:MetIos=true \
-p:RuntimeIdentifier=ios-arm64 -p:CodesignKey="Apple Development"
echo
echo "Gebouwd. Installeren gaat het makkelijkst via Visual Studio (Pair to Mac) of"
echo "Xcode > Window > Devices and Simulators, of: dotnet build -t:Run -p:_DeviceName=<UDID>"
;;
*)
stop "onbekende optie '$MODUS' (kies: controle, simulator of toestel)"
;;
esac