我正在尝试通过主屏幕上的应用程序图标上的3D触摸菜单操作呈现共享UIActivityViewController,我正在执行以下操作:
-(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。
我在预订和AirBnB等热门应用中看到了这种行为。
答案 0 :(得分:1)
当您从快捷方式项目中选择任何操作时,它将立即启动您的应用程序。快捷项目的主要目的是非常快速地向用户显示感兴趣的屏幕。使用快捷项目无法达到预期的效果。