22699


iosアプリで作成したデータ（独自フォーマット）を他のユーザにも取り込んで使ってもらえるようにしたいと考えており、簡便な方法として、アプリからメールの添付ファイルとしてデータを送り、受け手側ではその添付ファイルを当該アプリで開くことで読み込むようにしたいと考えております。

その際に、受け手側で添付ファイルアイコンにタッチしたときに出るメニューに、自分のアプリを表示させる方法がわかりません。

具体例として、neu.Notes+というアプリで作ったファイル（拡張子.neunote）を添付して送ったメールを、受け手側がiosの標準メールアプリで開き、添付ファイルをタッチすると、メニューに「メッセージ」「メールで送信」等に混ざって「Notes+で開く」というアイコンが表示され、これにタッチするとneu.Notes+が立ち上がって当該ファイルを開くことができます。

同様にTopNotesというアプリで作ったファイル（拡張子.notebook）の場合、このときには受け手側で添付ファイルをタッチすると「TopNotesで開く」というアイコンが表示されますが、「Notes+で開く」というアイコンは表示されません。

これらの例で、標準メールアプリが添付ファイルのタッチ時の振る舞いをファイルによって変えているので、何らかの方法でiosにファイルの種類と対応アプリを教えているのだと思うのですが、その方法をご教示いただけませんでしょうか。


CC BY-SA 3.0
2016-02-29T12:33:25.700
22666
2016-03-01T10:49:25.800
2016-03-01T10:49:25.800
14602
14602
question
ios
iosで、アプリ独自フォーマットのファイルをメールでやり取りする


質問者による回答です。

コメントをいただき「iOS 拡張子 関連付け」で検索すると、役立ちそうな情報が見つかりました。

iOSに対してやることは以下の2つです。

  1. 独自の拡張子を定義  
Info.plistに  
<key>UTExportedTypeDeclarations</key>  
で始まる記述を追加。

  2. その拡張子とアプリの関連付け  
Info.plistに  
<key>CFBundleDocumentTypes</key>  
で始まる記述を追加。

公式ドキュメントでは、[「iOSドキュメントインタラクションプログラミングトピックス」](https://developer.apple.com/jp/documentation/DocumentInteraction_TopicsForIOS.pdf)  
というのも役立ちそうです。


CC BY-SA 3.0
2016-03-01T10:47:47.407
22699
2016-03-01T10:47:47.407
14602
22666
answer