2017-01-05 19 views
0

ホーム画面のアプリアイコンに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

+0

アプリストアからダウンロードするすべてのアプリは、そのアプリを共有するデフォルトの3Dタッチメニュー項目を持っています。そのような独自のメニュー項目を作成することはできません。 – dan

答えて

0

App Storeにインストールされているすべてのアプリのクイックアクションメニューの上部に表示されるShareアクションについてお話ししていますか?アクションは、アプリケーションのためのApp Storeのリストへのリンクのみをシステムによって提供され、常に共有されていることを

quick actions menu

を(下の図で丸印)。他のすべてのアクション(スクリーンショットの他の4つ)は、アプリ自体(static or dynamicのいずれか)によって提供され、選択されると常にアプリを起動します。

通知センターのウィジェット(今日のビューウィジェットとも呼ばれます)を提供しているアプリであれば、ホーム画面のあなたのアプリにはshows up along with the Quick Actions menuがあります。インタラクティブなコンテンツを追加する方法を探しているならあなたの迅速な行動は、実行可能なルートかもしれません。ただし、ウィジェットをタップしてもアプリが起動されます。

+0

私はコールシステムが自分のアプリを共有するために使用されている共有したいが、私はアプリを開いていない –

関連する問題