JUCEを使ってiOS用アプリ・プラグインを作る際に、ユーザーが保存および読み込みを行うファイルの読み書きを行うための設定。
前提
Projucerを使ってAudioプラグインを作っている。
問題
何も考えずにMac/Windowsのプラグインを作っている感覚でファイルの読み書きを行おうとすると、書き込みはできるが読み込みができなかった。保存したファイルを読み込もうとFileChooserを使って表示すると、保存したファイルはグレーアウト状態で選択できない。
解決方法
XcodeでExported Type Identifiersやらを設定する必要があり、これで読み込みもできるようになった。ただしアイコンはアプリのアイコンをそのまま使おうと思ったが何故か設定できなかった。
- TARGETSでアプリを選択し、InfoのExported Type Identifiersを表示。
- Descriptionに適当な説明を入れる。
- Identifierも適当に設定。自分のアプリのidentifierにファイルの拡張子とか?
- Conforms Toにpublic.data。
- Extensionsに読み込みたいファイルの拡張子を記述。
Document Typesも設定すると何かいいことがあるのかわからないが(なくても読み書きができるので)、一応設定はしてみた。
未解決の問題
ローカルでの読み書きはできるようになったが、iCloudはまた別問題らしい。iCloud Document?の設定を見よう見まねでやってみたが、書き込みはできても読み込みができなかった(ファイルのオープンでどうも失敗する様子)。ContentSharerを使ったファイルの共有(AirDropとか)はまた更に別の問題。