2017-07-04 3 views
-1

Je dois relancer mon application lorsque l'utilisateur a effectué un achat dans l'application. Est-ce possible sans intervention de l'utilisateur?Relancer l'application à partir du code à l'intérieur de l'application iOS swift

Ce dont j'ai vraiment besoin, c'est d'éviter le contrôleur de navigation associé à la liaison d'abonnement dans un contrôleur de table. Une fois qu'un utilisateur s'abonne, je peux passer de la vue de la table d'abonnement à l'application principale, mais les balises du contrôleur de navigation recouvrent tous mes éléments de navigation dans toutes les vues de l'application principale.

+1

Pourquoi voulez-vous relancer? Pourquoi ne pouvez-vous pas mettre à jour votre couche de données et vos couches d'interface utilisateur? Je ne pense pas qu'Apple permettra de relancer l'application dans tous les cas. – adev

+1

Apple ne le permet pas, puisque le SDK iOS n'a pas d'autre méthode que de bloquer une application pour quitter une application. – rckoenes

+0

@adev, pouvez-vous me dire comment mettre à jour la langue de l'application, je suis également nouveau sur swift et ne sais pas comment mettre en œuvre ce problème –

Répondre

0

Il n'y a aucun moyen de relancer l'application à partir du tremplin. Vous voudrez peut-être simplement actualiser la vue actuelle. Apple est assez restrictive. Vous pouvez également dire à l'utilisateur de forcer la sortie de l'application, mais je ne pense pas que ce soit génial UX. Bonne chance! J'espère que ça répond à ta question.

Cheers, Theo

0

Faire usage d'un navigationContoller il relancera pas vraiment votre application, mais mettra à jour toute l'interface utilisateur pour montrer que l'application est relancée il suffit de connecter un contrôleur de navigation sur le premier écran de votre application et ne pas faire de la navigationConroller comme contrôleur initial

let rootviewcontroller: UIWindow = ((UIApplication.shared.delegate?.window)!)! 
     rootviewcontroller.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "rootnav") 
     let mainwindow = (UIApplication.shared.delegate?.window!)! 
     mainwindow.backgroundColor = UIColor(hue: 0.6477, saturation: 0.6314, brightness: 0.6077, alpha: 0.8) 
     UIView.transition(with: mainwindow, duration: 0.55001, options: transition, animations: {() -> Void in 
     }) { (finished) -> Void in 

     } 
+0

Un contrôleur de navigation couvre tous les éléments de navigation que j'utilise dans mon application dans tous mes écrans. En fait, si je pouvais coder la vue de la table d'abonnement pour fonctionner sans un contrôleur de navigation, tout fonctionnerait .. –

+0

self.navigationController? .navigationBarHidden = true l'ai-je utilisé? en fait charger et willAppear –