Sottotitolo: MAUI non ci fa mai annoiare !
Errore di cui parlerò in questo post.
The SupportedOSPlatformVersion value ‘11.0’ in the project file is lower than the minimum value ‘12.2’
Come sapete sono oramai completamente coinvolto da MAUI come framework per lo sviluppo mobile: un pò per necessità (ho diverse app scritte in Xamarin che, giocoforza, ho dovuto aggiornare, e il path più veloce era MAUI), un pò perché… mi ci sono trovato subito…..
Inutile rivangare il passato, ma un sassolino me lo devo levare: le prime versioni erano scandalose (ancora mi domando come hanno fatto a mettere in produzione un framework così…. discutibile), poi piano piano le cose sono migliorate e la versione a partire dalla 6 hanno iniziato a essere sensate per deploy su larga scala.
Con .Net9 devo dire che le cose sono ulteriormente migliorate, sopratutto sotto il punto di vista delle perfomance.
Detto questo qualche giorno fa in un momento in cui mi sentivo particolarmente coraggioso ho aggiornato una di queste app dalla versione 8 alla versione 9.
So che il manuale del bravo sviluppatore recita: se funziona non toccarlo.
Ma ho testato con mano le migliori perfomance della revisione, e volevo regalare a questa app quella… birra in più… che secondo me meritava.
In Android tutto ok dopo aver fatto l’aggiornamento: come dico sempre datemi un mattone e gli faccio girare sopra Android senza problemi.
iOS, invece, ha iniziato a lamentarsi con l’errore segnato sopra, e si rifiutava di compilare.
L’errore dire she è abbastanza explicative: l’SDK per iOS SDK ha aggiornato le specifiche per il minimum deployment target dal versione 11.0 all versione 12.2.
Poco male, ho pensato inizialmente: basta andare nell’arcInoto file info.plist e fare le modifiche del caso.
Incredibilmente (per me) su questo file non si fa cenno alcuno alla minima versione.
E allora ?
In MAUI molti parametri sono inseriti del il file csproj del progetto, e in fase di compilazione viene eseguito un merge con info.plist per iOS, e AndroidManifest.xml in Android in modo da ottenere la versione finale di questi file di configurazione.
Quindi un pò di valori sono in csproj, e altri nei file di configurazione, e quello relativo al minimum deployment target è proprio nel primo file.
Pertanto basta aprire questo file, identificare la Riga di segue, e aggiornare all versione 12.1 nd this error message tells you exactly what to do: update the Info.plist file!
<SupportedOSPlatformVersion Condition=”$([MSBuild]::GetTargetPlatformIdentifier(‘$(TargetFramework)’)) == ‘ios'”>11.0</SupportedOSPlatformVersion>
Spero che Vi sia utile