iCloudフォトライブラリが有効な場合にビデオを読み込めない問題を修正

Hiroshi Kajihata
PlaySections
Published in
3 min readNov 17, 2017

PlaySections 2.7.1で、iCloudフォトライブラリが有効な場合にビデオを読み込めない問題を修正しました。

iCloudフォトライブラリを有効にしている場合、ビデオファイルがローカルには保存されておらず、クラウドサーバー上にある場合があるのですが、その場合に読み込みできずにクラッシュする問題がありました。

私はiCloudフォトライブラリの仕様が好きではないので、私のiPhoneでは有効にしていません。そのため、この問題に事前に気づけませんでした。

デバッグする際、自分のiPhoneではiCloudフォトライブラリを有効にしたくなかったので、Simulator上でテスト用のアカウントでサインインして、その後iCloudフォトライブラリを有効にして問題を再現させました。

サインイン直後はまだローカルにビデオが保存されておらず、クラッシュする問題を再現させることができたのですが、一度でもアクセスするとローカルにキャッシュされてしまうため、次回からは問題が再現されません。

残念ながら手動でキャッシュをクリアする方法が分からなかったため、Simulator上で毎回全初期化を行い、再度サインインすることで、問題を何度も再現できるようにしました。

クラウドサーバーからビデオを読み込むためには、isNetworkAccessAllowed = true にすればOKです。

ただ、読み込みは非同期処理で時間がかかるので、progressHandler を使ってダウンロードの進捗状況をUIに反映させるようにしました。

PlaySectionsはオーディオファイル以外にもビデオの読み込みにも対応しているので、ダンスの練習などにも便利に使えます。ぜひご活用ください。

--

--