22808


Safariなどのアプリで、文字を選択した時に出る  
EditingMenuの中の「共有...」ででる一覧に自分で開発しているアプリを表示させたいのですが、  
どのような技術を使えば良いのでしょうか？

[![enter image description
here](https://i.stack.imgur.com/kbG0L.jpg)](https://i.stack.imgur.com/kbG0L.jpg)


CC BY-SA 3.0
2016-03-03T12:46:48.690
22770
2016-03-04T14:24:17.877
2016-03-04T13:03:56.767
12297
12297
question
swift
EditingMenuの中の「共有...」ででる一覧に自分で開発しているアプリを表示させたい。


> どのような技術を使えば良いのでしょうか？

との事ですので、使えそうなネタを2点ほど紹介してみます。  
（この分野にはあまり詳しくないので、探せば他にも使える技術があるかもしれません）

### ・UIDocumentInteractionController

iOS3.2の時代からある、アプリの間でデータを共有するための仕組みです。

UIDocumentInteractionController Class Reference  
<https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIDocumentInteractionController_class/>

### ・Action Extension

iOS8から導入された、あるアプリの機能を他のアプリから使えるようにする仕組みです。

App Extension Programming Guide: Action  
<https://developer.apple.com/library/prerelease/mac/documentation/General/Conceptual/ExtensibilityPG/Services.html>

Action Extensionの簡単な説明についてはこちらをどうぞ。  
（Objective-Cですが）

[iOS 8] App Extension #4 – Action Extension ｜ Developers.IO  
<http://dev.classmethod.jp/?p=110490>


CC BY-SA 3.0
2016-03-04T09:35:56.050
22799
2016-03-04T12:58:02.163
2016-03-04T12:58:02.163
7459
7459
22770
answer


「共有メニューに」ということであれば、Share拡張機能の方だろうと思います。  
[App Extensions
プログラミングガイド](https://developer.apple.com/jp/documentation/General/Conceptual/ExtensibilityPG/index.html)  
[Share](https://developer.apple.com/jp/documentation/General/Conceptual/ExtensibilityPG/ShareSheet/ShareSheet.html#//apple_ref/doc/uid/TP40014214-CH12-SW1)  
ただし、iOSの拡張機能(extension)は、アプリそのものとは別のプログラム単位で、限定された方法でしか本体アプリと協調できません。(詳しくはリンク先をご覧ください。)

ちなみにAction拡張機能やShare拡張機能は、いろんなアプリにあるshareボタンや「共有」メニューに現れるのですが、Actionは写真アプリにある編集的(*)な機能、Shareの方は主に(SNS等への)投稿を意識して作られた機能なので、それらがあなたの要求にあったものかどうかはよくご確認ください。

(*) ややこしくて最初混同した記述をしてしまったのですが、写真アプリの編集画面に登場するのはPhoto Editing拡張機能なんて別ものでした。


CC BY-SA 3.0
2016-03-04T13:52:21.320
22808
2016-03-04T14:24:17.877
2016-03-04T14:24:17.877
13972
13972
22770
answer