Quick Actions avec Objective C !
Salut à tous, j'aimerai mettre à jour une application pour qu'elle fonctionne avec 3D Touch, et plus précisément Quick Actions.
Cette application est en objective c.
Pour cela, j'ai ajouté dans le .plist UIApplicationShortcutItems, tout marche nickel.
J'ai ensuite ajouté cela dans le AppDelegate.m, pour détecter quelle actions a été choisi, encore uen fois tout marche nickel :
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {
NSLog(@%@", shortcutItem.type);
if ([shortcutItem.type isEqualToString:@com.procuste.procuste.derniere]) {
printf("Love You FLore");
}else if ([shortcutItem.type isEqualToString:@com.316apps.iPrayed.addPrayer]) {
}
}
Mais il me manque la cerise sur le gâteau, avec ces actions, comment ouvrir l'application là ou l'on veut, selon le quick action choisi ?
J'espère que certains d'entre vous aurez la réponse !
Merci d'avoir lu et à bientôt !
Réponses
La réponse à ta question dépend très fortement de comment est codée ton application.
Par exemple, si la quickAction doit lancer l'appareil photo, il faudra coder quelque part "lance l'appareil photo".
Pour répondre à ta question, il faudrait avoir ton application sous les yeux, voir sa logique, comprendre comment elle fonctionne...
Ok, il y a une vue principale, qui emmène ensuite sur une autre vue. Donc mon but serai juste, une fois le quick actions détecté, d'aller à la seconde vue
Justement c'est ce que je demande ??? Le code pour aller à l'autre Vue
Il n'y a pas de modèle unique d'application. Un modèle où il y aurait une vue principale, des sous-vues, des sous sous vues. Chaque application est unique, a sa propre architecture, sa propre façon d'organiser les vues entre elles. Il n'est pas possible de répondre à ta question sans connaà®tre l'architecture de ton application.
Résolu, voici le code qui manquait:
UIViewController *Vc = [[UIStoryboard storyboardWithName:@MainStoryboard bundle:nil]instantiateViewControllerWithIdentifier:@second];
[(UINavigationController *)self.window.rootViewController pushViewController:Vc animated:YES];
Merci à tous de m'avoir mi sur la bonne piste !