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等流行應用中看到了這種行爲。

回答

1

當您從快捷方式選擇任何動作時,它將立即啓動您的應用程序。捷徑項目的主要目的是非常快速地顯示用戶感興趣的屏幕。使用快捷方式項目無法達到預期的情況。

相關問題