[iOS SDK] アプリを起動しない 3D quick action は実現できるか

3D touch

iPhone 6s / iPhone 6s Plus から 3D Touch 機能が搭載されたが、搭載機種を持っていなかったので自作アプリでは対応していなかった。

10月にiPhone 7 Plus を購入したので、重い腰を上げて 3D Touch 機能に対応してみることにした。

まずは簡単なところで、Home Screenの Quick Action 機能(アイコンを強く押すとメニューが出て、そこからアプリの機能を呼び出せる) に対応してみることにした。

まず着手したのが、自分的に使用頻度の高い自作アプリの EverLearn で、辞書ひき機能を呼び出せるようにしてみた。

ただ、これはこれで便利なのだが、何も対応を入れないときにデフォルトで表示される、「(アプリ名) を共有」も人にアプリを紹介する際には便利だ。

この機能は、アプリをShare しつつ、アプリは起動しないというもの。アプリアイコンを3D タッチしているのにアプリを起動しないという挙動になっている。

そこで、独自 Quick Actionも搭載しつつ、このデフォルトの機能である「(アプリ名)を共有」を両方サポートしようとしたところ、どうもこれは無理なようだ。

ios – Silent 3D Touch Quick Action – Stack Overflow

で同じ質問をしている人がいるが、確かに仕組み的にアプリが起動されるようになっていて、しかもiOSの仕様上、アプリの起動を途中でやめたり、アプリが自分で死んだりすることはできないため、「(アプリ名)を共有」の機能を入れると、3Dタッチするとアプリも起動してしまう。

ということで、このデフォルトの挙動とオリジナルの3D Quick Action とは共存しないようだ。デフォルトの挙動が実現できないというのは、ちょっと不思議な感じがする。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.