web-dev-qa-db-fra.com

Ouvrez l'application iOS à partir de l'URL ET des paramètres de passage

Un lien devrait ouvrir l'application. J'ai ça pour travailler. Je veux juste savoir comment passer un paramètre. Disons que l'URL est "addappt: //? Code = abc". Lorsqu'un contrôleur de vue apparaît, un champ de code doit avoir du texte rempli - les lettres après l'égal à signer. J'ai une partie de cela à travailler. J'utilise ce qui suit (in app delegate.m):

NSArray *elements = [url.query componentsSeparatedByString:@"="];
NSString *key = [[elements objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
          val = [[elements objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

(BTW: val est déclaré dans appdelegate.h

Je peux également passer val au contrôleur de vue. Mon seul problème est de remplir le champ de texte, nommé 'code'. Comment pouvez-vous remplir le code dès que l'application est ouverte par le lien?

Aide appréciée.

23
DHShah01

Voici un joli tutoriel sur tilisation d'un schéma d'URL personnalisé dans iOS

Comme dans le didacticiel, vous devez analyser les paramètres d'URL et les stocker pour les utiliser dans l'application dans cette méthode:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
  // Do something with the url here
}
22
Nikola Kirev