Compare commits
2
Commits
5446dd4170
...
4918df574a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4918df574a | ||
|
|
706403ba31 |
@@ -41,6 +41,28 @@ gecompileerd is, geeft meestal een handvol kleine dingen (een ontbrekende using,
|
||||
API-naam). `PrivacyInfo.xcprivacy` moet na het bouwen in de `.app` zitten
|
||||
(`find . -name PrivacyInfo.xcprivacy`).
|
||||
|
||||
## Een gehuurde Mac (MacinCloud) zonder beheerrechten
|
||||
|
||||
Beproefd op 20 oktober 2026: een Managed Server van MacinCloud (Mac mini M2, macOS Tahoe 26.x,
|
||||
Xcode 26.6), met Windows via RDP. Daar heb je geen beheerrechten, en de .NET die erop staat heeft
|
||||
een kapotte werkbelastinginstelling. Wat wel werkt:
|
||||
|
||||
1. Een eigen .NET in je eigen map, in dezelfde versie als de systeem-.NET:
|
||||
`bash ~/dotnet-install.sh --version 10.0.302 --install-dir ~/dotnet302`
|
||||
(script van https://dot.net/v1/dotnet-install.sh), en in elk Terminal-venster:
|
||||
`export DOTNET_ROOT=$HOME/dotnet302 PATH=$HOME/dotnet302:$PATH`.
|
||||
2. `dotnet workload install maui-ios` daarmee. **Let op de Xcode-versie:** de nieuwste .NET
|
||||
(10.0.4xx) levert iOS 27.1 en eist Xcode 27.1 ("requires Xcode 27.1"). De 10.0.3xx-band levert
|
||||
iOS 26.5 en past bij Xcode 26.x. Gebruik dus de oudere SDK zolang Xcode 26 de nieuwste stabiele is.
|
||||
3. `tools/ios-bouwen.sh simulator`. Het script zet `MetAndroid=false` (anders eist de build de
|
||||
Android-werkbelasting) en `CodesignKey=-` (lokale handtekening; de simulator wil geen
|
||||
certificaat, maar de Keychain-rechten in `Entitlements.plist` vragen om een handtekening).
|
||||
Geef nooit `-p:TargetFrameworks=...` op de opdrachtregel mee: dat gaat ook naar de gedeelde
|
||||
projecten (net8.0) en breekt hun herstel.
|
||||
|
||||
Resultaat: de app bouwt en draait in de iPhone 16 Pro-simulator (iOS 18.0), inclusief inloggen en
|
||||
de overzichtsschermen.
|
||||
|
||||
## Wat er nog moet
|
||||
|
||||
**Een Mac.** Apple's bouwgereedschap draait alleen op macOS. Visual Studio op Windows verbindt
|
||||
|
||||
@@ -16,7 +16,10 @@
|
||||
|
||||
of blijvend, door MetIos in een Directory.Build.props of in de omgeving te zetten op de
|
||||
machine die wél aan een Mac hangt. Zie docs/iOS-app.md. -->
|
||||
<TargetFrameworks>net10.0-android</TargetFrameworks>
|
||||
<!-- MetAndroid=false laat Android weg: op een Mac die alleen iOS bouwt staat de Android-
|
||||
werkbelasting er niet, en dan weigert de hele build (NETSDK1147). Zonder deze schakelaar
|
||||
verandert er niets: Android blijft standaard aan. -->
|
||||
<TargetFrameworks Condition="'$(MetAndroid)' != 'false'">net10.0-android</TargetFrameworks>
|
||||
<TargetFrameworks Condition="'$(MetIos)' == 'true'">$(TargetFrameworks);net10.0-ios</TargetFrameworks>
|
||||
|
||||
<OutputType>Exe</OutputType>
|
||||
|
||||
+9
-3
@@ -45,8 +45,14 @@ case "$MODUS" in
|
||||
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
|
||||
# Eerst bouwen, daarna starten: met alleen -t:Run bouwt hij de app niet en weet hij niet wat
|
||||
# hij moet starten. MetAndroid=false: op de Mac staat alleen de iOS-werkbelasting.
|
||||
# CodesignKey=-: een eenvoudige lokale handtekening. De simulator wil geen certificaat, maar de
|
||||
# app heeft wel een handtekening nodig vanwege de Keychain-rechten in Entitlements.plist.
|
||||
dotnet build "$PROJECT" -f "$TFM" -p:MetIos=true -p:MetAndroid=false \
|
||||
-p:RuntimeIdentifier=iossimulator-arm64 -p:CodesignKey=-
|
||||
dotnet build "$PROJECT" -f "$TFM" -p:MetIos=true -p:MetAndroid=false -t:Run \
|
||||
-p:RuntimeIdentifier=iossimulator-arm64 -p:CodesignKey=-
|
||||
;;
|
||||
toestel)
|
||||
controle
|
||||
@@ -58,7 +64,7 @@ case "$MODUS" in
|
||||
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 \
|
||||
dotnet build "$PROJECT" -f "$TFM" -p:MetIos=true -p:MetAndroid=false \
|
||||
-p:RuntimeIdentifier=ios-arm64 -p:CodesignKey="Apple Development"
|
||||
echo
|
||||
echo "Gebouwd. Installeren gaat het makkelijkst via Visual Studio (Pair to Mac) of"
|
||||
|
||||
Reference in New Issue
Block a user