在不启动应用程序的情况下显示主屏幕操作,3DTouch主屏幕快速操作

时间:2017-01-05 19:05:17

标签: ios objective-c

我正在尝试通过主屏幕上的应用程序图标上的3D触摸菜单操作呈现共享UIActivityViewController,我正在执行以下操作:

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{

    if([shortcutItem.type isEqualToString:@"share"]){
        NSArray *arr = @[@"https://www.woshuo.pub"];
        UIActivityViewController *vc = [[UIActivityViewController alloc]initWithActivityItems:arr applicationActivities:nil];
        [self.window.rootViewController presentViewController:vc animated:YES completion:^{
        }];

    }
    if (completionHandler) {
        completionHandler(YES);
    }
}

此结果是正在启动的应用程序并显示UIActivityViewController。我要做的是在不启动应用程序的情况下显示UIActivityViewController。

我在Booking和AirBnB等热门应用中看到了这种行为。 例如:苹果商店APP

1 个答案:

答案 0 :(得分:0)

您是在谈论每个App-Store安装的应用程序快速操作菜单顶部的共享操作吗? (在下面圈出)

quick actions menu

该操作由系统提供,并且始终仅共享指向应用程序的App Store列表的链接。所有其他操作(屏幕截图中的其他四个)都由应用程序本身提供(无论static or dynamic),并在选择时始终启动应用程序。

请注意,在iOS 10中,如果您的应用程序在主屏幕上为您的应用提供了通知中心窗口小部件(即今日视图窗口小部件),那么shows up along with the Quick Actions menu - 如果您正在寻找放置更多内容的方法交互式内容到您的快速行动中,这可能是一条可行的途径。 (请注意,在小部件中点按仍会启动您的应用。)