Отображение действия на главном экране без запуска приложения
Я пытаюсь представить общий доступ к UIActivityViewController из действия сенсорного меню 3D на значке приложения на главном экране. Я делаю следующее:
-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler {
completionHandler([self handleShortcutItem:shortcutItem]);
}
- (BOOL)handleShortcutItem:(UIApplicationShortcutItem *)shortcutItem {
BOOL handled = NO;
if ([shortcutItem.type containsString:@"share"]) {
handled = YES;
UIActivityViewController *activityVC =
[[UIActivityViewController alloc] initWithActivityItems: @[ @"test" ] applicationActivities:nil];
[self.window.rootViewController presentViewController:activityVC animated:YES completion:nil];
}
return handled;
}
В результате запускается приложение и отображается UIActivityViewController. Я пытаюсь отобразить UIActivityViewController без запуска приложения.
Я видел такое поведение в популярных приложениях, таких как Booking и AirBnB.
1 ответ
Когда вы выбираете какое-либо действие из элемента ярлыка, оно сразу же запускает ваше приложение. Основной целью ярлыка является быстрое отображение интересующего пользователя экрана. Вы не можете достичь ожидаемого случая с помощью элемента быстрого доступа.