Flutter — créer une application sous IOS


img

Après une première introduction sur la création d’une première application avec de cet article Android , on fait la même manipulation et cette fois ci avec IOS.

La création d’une application avec IOS en soit est facile. Il n’y a pas de différence avec Android. Ah mais oui, on est sur Flutter.

Cet article va donc être court et se focalisera plutôt sur mon vécu de cette expérience. Pour résumer, l’étape la moins évidente était le déploiement de l’application sur un “real device”, en l’occurence l‘iPhone.

Prérequis au deploiement sur un device

xcode

xcode est le logiciel incontournable si on veut faire fonctionner une application sur un iphone ou un ipad.

On va sur https://developer.apple.com/develop/ et on télécharge xcode. On en profite également pour créer un compte developer Apple si on n’en n’a pas déja un. L’inscription est gratuite. Avoir un compte developer est obligatoire pour pouvoir tester une application sur un iPhone.

Homebrew

Homebrew est le gestionnaire de package de macOS au même titre que chocolatey pour windows ou aptitude pour linux. Il nous sera utile pour installer quelques librairies ayant pour objectif de faire communiquer notre application à IOS.

On ouvre un terminal et on tape la commande suivante pour installer homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Une fois homebrew installé, on va pouvoir installer les différents packages utiles.

Allons-y pour installer tout ça.

brew update 
brew install — HEAD usbmuxd
brew link usbmuxd
brew install — HEAD libimobiledevice
brew install ideviceinstaller
brew install cocoapods

usbmuxd , libimobiledevice et ideviceinstaller sont des librairies permettant de communiquer avec IOS nativement >> http://www.libimobiledevice.org/

Cocoapods quand à lui est un gestionnaire de package pour Swift et Objective-C. Rassurons-nous, on ne va pas apprendre ces 2 langages. Pour rappel, ce sont les langages de programmation utilisés souvent pour créer une application IOS.

On paramètre pod

pod setup

Installons Flutter

On va donc télécharger le SDK pour mac ici https://flutter.dev/docs/get-started/install/macos

img

On crée le dossier /Users/mr/flutter et on extrait le zip téléchargé dans ce dossier.

On crée/ajoute une entrée dans notre variable d’environnement PATH qui aura la valeur suivante : /Users/mr/flutter/bin

Dans le terminal, on tape ceci

export PATH="$PATH:/Users/mr/flutter/bin"

On test le bon fonctionnement en tapant

echo $PATH

Check de flutter avant la création de l’application

flutter doctor

On doit avoir les informations suivantes en retour

[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.13.6 17G7024,
 locale fr-FR)
[✗] Android toolchain — develop for Android devices
 ✗ Unable to locate Android SDK.
 Install Android Studio from:
 https://developer.android.com/studio/index.html
 On first launch it will assist you in installing the Android SDK
 components.
 (or visit https://flutter.dev/setup/#android-setup for detailed
 instructions).
 If the Android SDK has been installed to a custom location, set
 ANDROID_HOME to that location.
 You may also want to add it to your PATH environment variable.
[✓] iOS toolchain — develop for iOS devices (Xcode 10.1)
[!] Android Studio (not installed)
[✓] Connected device (1 available)
! Doctor found issues in 2 categories

Jusqu’ici, on est bon car on n’a pas besoin de Android.

Créons notre 1ere app

Dans le terminal, on va dans un dossier par exemple /Users/mr/flutterapps et on tape ceci :

flutter create firstapp

Que fait cette commande :

  • Elle crée le dossier firstapp
  • Dans le dossier firstapp, elle crée une application qui utilisera le Material Components.

Lançons cette app…sur notre iPhone

Je vais d’abord citer les versions des outils utilisés dans cette démo :

  • xcode: 10.1
  • IOS: 12.3.1

On lance xcode et on ouvre le fichier Runner.xcodeproj à la racine du projet.

Ensuite dans le volet de gauche de xcode, on clique sur Runner

img

Dans la colonne centrale puis dans le champ Status, une icône rouge nous informe qu’il manque quelque chose

img

C’est dans ce champ qu’on ajoute notre compte developer ou on ajoute un compte. On choisit notre nom dans le champ Team puisque je l’ai déjà ajouté.

img

On aura donc la configuration suivante et 2 autres icônes rouges apparaissent.

img

Car l’identifiant champ “Bundle Identifier” com.example.firstapp est la valeur par défaut et cet identifiant a déjà été utilisé par une autre application dans Apple Store (surement la 1ère application flutter ;). On va juste changer la valeur du champ “Bundle Identifier” en com.flutter.miary comme sur la capture et le problème est reglé.

img

On est bon coté xcode. On va dans les paramètres de l’iPhone pour lui préparer à accepter l’application une fois le bouton “lancement” cliqué à partir de xcode.

On va dans Reglages

img

… puis sur Gestion de l’appareil

img

…on clique sur notre nom

img

On retourne dans xcode. On va lancer maintenant l’application à partir de xcode vers notre telephone. On choisit notre telephone dans la liste des devices proposés dans xcode

img

…puis sur l’icone “Build”

img

Dans notre iPhone , on autorise l’installation de l’application en cliquant sur “Faire confiance à moncompte@dev”

img

On clique sur “OUI” dans la popup

img

Et là, on a notre application lancé dans notre telephone

img

Cet article est également publié sur Medium