Dans ce Playground : https://github.com/OMTS/citadel/tree/master/ios-dev/playgrounds/BadDeepLinking.playground
Tiré de ce projet : Guestbusters
Pour deux raisons :
- Premièrement parce qu'on revient manuellement à la page d'origine de l'app (changement de tab de la tabBar + popToRootViewController + dismissViewController (au cas ou))
- Ensuite parce qu'on passe des paramètres a un view controller intermédiaire afin que lui affiche celui qui es la cible.
- On élimine les deux problèmes précédents.
- On ne respecte pas l'architecture d'origine de l'app.
- On pourrait ouvrir le viewController cible alors qu'on est déjà sur ce lui ci ou sur un détail de celui ci.
Ré-instancier le "entry point" du story board + déclarer un protocol a suivre pour les view controllers qui gèrent le deep linking.
- On évite le premier problème grâce a la ré-instanciation.
- Le deuxième problème est géré proprement grâce a un protocol.
- On perd le contexte des autres onglets dans le cas d'une tabBar (contenu non sauvegardé perdu)
- Difficulté de mise en place du protocol.