林檎教信者の独り言

つけて頂いたコメントには3日以内に必ず返信します!返信もぜひご覧ください!

書類ピッカー"OneDrive"で(0)を起動できませんでした。

f:id:french_toast_myID:20151017211542j:image
友人のiPadでの案件。

このエラー何?とともに送られてきたのは、以下の画像。

f:id:french_toast_myID:20151017211431p:image
iPad miniiMovieを使って、OneDriveの動画を編集しようとしたときのエラー

"OneDrive"を起動できませんでした
書類ピッカー"OneDrive"で(0)を起動できませんでした。
というもの。
過去長く情報分野には関わってきていますが、こんなエラーは初めて見ます。
WindowsはもちろんiOSにも関わってきて、人よりは知っている自信がありましたが初めてみます。

まず書類ピッカーってなんだと思って検索してみる。


あらら、どうやらドキュメントピッカーっちゅーものみたいです。
Appleの公式文書(pdf)がありました。

ドキュメントピッカープログラミングガイド - Apple Developer

やっぱりOSレベルのエラーみたいですね。
内容を紐解いてみると、面白いことがわかります。

リンク先PDFの3ページ目、ドキュメントピッカーについてでは、
ドキュメントピッカーとは、アプリケーションのサンドボックス外にあるドキュメントを、ユーザが 選択できるようにする機能です。
との記述があります。
つまり、アプリとアプリでデータを受け渡すための架け橋ってわけです。

iPhoneに搭載されているiOS系では、サンドボックス型と呼ばれるシステム構造を採用しています。これは、起動中のアプリが他のアプリやシステムの内部へアクセスすることを制限して、セキュリティを確保するシステムのことです。当然、制限の分自由度は下がりますが、かなり安全なシステムとなります。

この制限されたアクセスのなかで、他のアプリのファイルへアクセスするための手段がドキュメントピッカーというわけです。
英語でPickは、選ぶや摘む、取るという意味があります。つまりピッカー(Picker)はその役ということですね。

また、エラー分の(0)という部分はわかりません。プログラムの内部で用いられるNullというものかと思われます。

Null とは?
Nullとは、プログラミング言語やデータベースのデータ表現の一種で、何のデータも含まれない状態、あるいは長さ0の空文字列のこと。
つまり、何もないっちゅーわけです。
ちなみに発音はナルで、ヌルではないのでお忘れなきよう。

今回のインシデントは、iMovieがOneDrive内のファイルにアクセスするときに発生しました。おそらく、OneDriveのファイルにアクセスする際にドキュメントピッカーを利用しようとしたが、なんらかの理由でドキュメントピッカーが利用できず、エラーを返したものと思われます。

とりあえず、友人には
  • iMovieのタスク終了
  • OneDriveのタスク終了
  • 強制再起動
をお願いしました。こういったアプリケーション系バグのときは、関連アプリケーションの終了をしてから強制再起動すると解決する場合が多いです。

結果、回復しました

みなさんもこういったエラーに見舞われた際は、慌てずに対処しましょう!