ホーム画面のアプリアイコンに3Dタッチメニューアクションから共有UIActivityViewControllerを表示しようとしています。アプリを起動せずにホーム画面のアクションを表示する、3DTouchホーム画面クイックアクション
- (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などの人気アプリでこの現象が見られました。 例:Apple Store APP
アプリストアからダウンロードするすべてのアプリは、そのアプリを共有するデフォルトの3Dタッチメニュー項目を持っています。そのような独自のメニュー項目を作成することはできません。 – dan