在不启动应用程序的情况下显示主屏幕操作

时间:2016-09-22 07:47:00

标签: ios uiactivityviewcontroller 3dtouch force-touch uiapplicationshortcutitem

我正在尝试通过主屏幕上的应用程序图标上的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等热门应用中看到了这种行为。

1 个答案:

答案 0 :(得分:1)

当您从快捷方式项目中选择任何操作时,它将立即启动您的应用程序。快捷项目的主要目的是非常快速地向用户显示感兴趣的屏幕。使用快捷项目无法达到预期的效果。