1

我正在尝试从主屏幕上的应用程序图标上的 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 。

我在 Booking 和 AirBnB 等流行应用程序中看到了这种行为。

4

1 回答 1

1

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

于 2016-10-21T07:34:38.943 回答