iOS Configuration de l'application iOS (Activation des liens universels)


Exemple

La configuration côté application nécessite deux choses:

  1. Configuration du droit d'accès à l'application et activation des liens universels en activant la fonctionnalité Domaines associés dans le projet.
  2. Gestion des liens entrants dans votre AppDelegate .

1. Configurer le droit d'accès à l'application et activer les liens universels.

La première étape de la configuration des droits d'accès de votre application consiste à l'activer pour votre ID d'application. Faites-le dans le Centre des membres Apple Developer. Cliquez sur Certificats, identifiants et profils, puis identificateurs. Sélectionnez votre ID d'application (créez-le d'abord si nécessaire), cliquez sur Modifier et activez le droit aux domaines associés.

Ensuite, obtenez le préfixe et le suffixe de l’ID d’application en cliquant sur l’ID de l’application correspondante.

Le préfixe et le suffixe de l'ID d'application doivent correspondre à celui du fichier apple-app-site-association.

Ensuite, dans Xcode , sélectionnez la cible de votre application, cliquez sur Capabilities et activez l'option. Ajoutez une entrée pour chaque domaine pris en charge par votre application, préfixée par des liens d'application:

Par exemple, applinks: YourCustomDomainName.com

Ce qui ressemble à ceci pour l'exemple d'application:

Remarque : Assurez-vous d'avoir sélectionné la même équipe et saisi le même ID de lot que l'ID d'application enregistrée sur le Centre de membres. Assurez-vous également que le fichier de droits est inclus par Xcode en sélectionnant le fichier et, dans l'inspecteur de fichiers, vérifiez que votre cible est cochée.


2. Gestion des liens entrants dans votre AppDelegate

Toutes les redirections de Safari vers l'application pour les liens universels passent par la méthode ci-dessous dans la classe AppDelegate de l'application. Vous analysez cette URL pour déterminer la bonne action dans l'application.

[UIApplicationDelegate application: continueUserActivity: restorationHandler:]

Objectif c

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
    ///Checking whether the activity was from a web page redirect to the app.
    if ([userActivity.activityType isEqualToString: NSUserActivityTypeBrowsingWeb]) {
        ///Getting the URL from the UserActivty Object.
        NSURL *url = userActivity.webpageURL;
        UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        UINavigationController *navigationController = (UINavigationController *)_window.rootViewController;
        if ([url.pathComponents containsObject:@"home"]) {
            [navigationController pushViewController:[storyBoard instantiateViewControllerWithIdentifier:@"HomeScreenId"] animated:YES];
        }else if ([url.pathComponents containsObject:@"about"]){
            [navigationController pushViewController:[storyBoard instantiateViewControllerWithIdentifier:@"AboutScreenId"] animated:YES];
        }
    }
    return YES;
}  

Rapide :

func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
      if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
          let url = userActivity.webpageURL!
          //handle url
      }
      return true
  }

Code d'application iOS

Le code de l'application peut être trouvé ici .