忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

私が感じたドキュメントプロバイダの5つの問題点について

わか

iOSのドキュメントプロバイダをどうにか使えないかと四苦八苦しています。
初めはようやくまともにアプリ間でデータのやり取りができると喜びましたが、そんなことはありませんでした。iOS8.1.3時点でのドキュメントプロバイダ(UIDocumentPickerViewController)の私が感じた問題点について記載します。

iOSの不具合
以前の記事にも記載しましたが、Aというアプリがアクセスしていると、Bのアプリでアクセスできず、待たされます。待たされ方もいつ終わるか通知されず、フリーズしたような動きをします。
他にもiCloud Drive関連で不具合があるようです。

強制的に画面が閉じられる
ファイルをタップすると画面が強制的に閉じられてしまう。
次のファイルをタップするためにUIDocumentPickerViewControllerを再度開かないといけない。

ファイル一覧が取得できない
ファイル情報がタップしたものしか取得できません。そのためタップするまで、そこに何のファイルが存在するか判断できず、検索や自動ファイル選択などの機能が実装できない。

表示画面をカスタマイズできない
UIDocumentPickerViewControllerで表示される画面の実装はアクセスされる側のアプリで行われるため、アクセスする側のアプリではそれをそのまま使用(表示)することしかできません。
UIによってはアプリに合わない場合があります。
また、事実上モーダルでしか画面を表示できません。

iOSではブックマーク保存できない
この問題が一番やっかいです。
公式ドキュメントのDocumentPickerProgramingGuide.pdfを読むと、しおり一覧画面を作成して一度アクセスしたファイルに再度アクセスしやすいようにするべきと記載してあります。しかし、保存するセキュリティ対応URL(NSURLBookmarkCreationWithSecurityScope)がiOSでは取得できません・・・(MacOSXでは可能)。そんなばかな・・・。
また、上記のような記載がある以上、今後も一度もアクセスしていないファイルに関する情報はユーザが選択(ファイルタップ)するまで取得できないものと思われます・・・。
他の問題として、選択したファイルを使用中にスリープ状態になると、再びファイルを選択(タップ)しない限り、復帰時にそのファイルにアクセスできなくなります(スリープ移行時にファイル使用権限を解放するため)。ファイル使用権限を解放しない方法もありますが、他のアプリがアクセスできなくなりますし、お作法的によろしくありません。どうしろというんでしょうね・・・


Appleらしからず、ユーザエクスペリエンス(ユーザ体験)が悪くなります。
セキュリティの問題もあるのでしょうが、ガチガチな使い方しかできません。
まぁ、実装されたばかりの機能なのでこれからのアップデートで追加されていくでしょうが、初めからある程度の機能は盛り込んで欲しかったです。せめて強制的に画面を閉じるのだけは、こちらで制御できるようにしてほしかったです。

ひょっとしたら現時点での私の理解が乏しく今まで記載したことが間違っているかもしれません。そうであってほしい・・・。

拍手[1回]

PR