UIImagePickerControllerでカメラロール表示したらログにエラーが吐かれる
UIImagePickerController を表示する際に以下のエラーが吐かれる場合がある。
<Error>: More than maximum 5 filtered album lists trying to register. This will fail.
よく分からないので調べてたら stackoverflowに同じトピックがあった。
回答には
「UIImagePickerControllerSourceTypeを設定する際には +[UIImagePickerController isSourceTypeAvailable:] を使ってsouceTypeが使用可能か確認すること」
みたいな形で書かれている。
それを実装したのが以下のコード。
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { sourceType = UIImagePickerControllerSourceTypePhotoLibrary; } else { // アラート出したりすればええんちゃう? }
UIImagePickerControllerのクラスリファレンス、isSourceTypeAvailable:の項目にもしっかり書かれていたりする。
ただ、確かにエラーを吐かなくなったが、、、エラー吐いてた時のコードに戻したら今度はエラー吐かなくなってしまった。
何か釈然としない。
iOSのDeveloperForumを見てても何で発生しているのかイマイチわからないんですよね。
「xcodeのバグ?」みたいな流れになってるし。
今は諸事情からxcode4.2を使ってるのでxcode4.3.2では確認できてないけど、解消されてたりするんだろか。