Accéder au contenu principal

Articles

Affichage des articles du mai, 2023

Développer pour IOS12 avec les outils de IOS16

Presque toutes mes applications sont utilisables sur IOS12, mais nous sommes actuellement à IOS16. Les outils d'Apple (xCode) fournissent des structures d'application pour commencer un projet, ainsi lorsque vous créez un nouveau projet, vous définissez, par exemple, une application IOS pour une application avec une simple UIViewController. Par défaut, le "Minimum Deployement" est mis sur la dernière version d'IOS (ici la 16.4). Si vous essayez votre application avec un vieil appareil (ici IOS 12), xCode refusera de lancer l'application. Il faut donc que le "Minimum Deployement" soit mis à une valeur en dessous de l'appareil destination. Apple propose toutes les valeurs au dessus de IOS 11, mais pousse très fort pour un minimum à IOS 12. Il faut donc changer la version minimum d'IOS... Nous mettons IOS 12.0, et l'application se lance mais reste noire (écran noir), l'interface ne se lance pas. Que se passe-t-il ? Il s'agit de UIScen

Maccatalyst et Product Bundle Identifier

Les premières version de MacCatalyst (application iPad sur Mac) créaient un nouvel identifiant de package. Mon application Quadrillages avait donc deux identifiants : fr.lantranet.quadrillages et maccatalyst.fr.lantranet.quadrillages  Apple, a finalement décidé que les applications Mac et iPad pouvait avoir le même identifiant (et donc le même achat). Cela permet aussi sur AppStoreConnect de n'avoir qu'une seul entrée. C'est vrai que c'est mieux ainsi... Mais, j'avais déjà fait une app catalyst avec le deuxième identifiant, et Apple refuse de créer une nouvelle app Mac attachée à l'app IOS si une app de même nom existe déjà. Lors d'une mise à jour je me retrouve à faire le choix de supprimer l'application Mac pour la réintégrer ensuite dans l'application IOS. Je supprime donc l'app Mac (sur l'appStoreConnect), puis je crée une nouvelle app Mac comme attachée à l'app IOS. Un message de warning apparaît disant que l'identifiant de bundl