🔍
[I-MLK009001] Firebase/MLKit not working
FirebaseのMLKitで機械学習の推論タスク(顔認識、テキスト認識)をしようとしても、以下のエラーがコンソールに表示され、認識結果を取得できなかった。
[Firebase/MLKit][I-MLK009001] An empty result was returned from GMVDetector in VisionFaceDetector.
WebでI-MLK009001やFirebase/MLKit not workingで検索しても同様の事象がヒットしなかったため、記事にまとめる。
前提
- FirebaseのMLKitをCarthageでバイナリとして導入している
- FirebaseMLVisionFaceModel or FirebaseMLVisionTextModelを利用している
解決方法
FirebaseのCarthage導入のドキュメントにもある通り、GoogleMVFaceDetectorResources.bundle
もしくはGoogleMVTextDetectorResources.bundle
が正しくアプリにバンドルされているか確認する。
{% linkpreview "https://github.com/firebase/firebase-ios-sdk/blob/master/Carthage.md (opens new window)" %}
具体的には、XcodeのBuild Phases > Copy Bundle Resourcesに.bundleファイルが追加されているか確認するため、右上の検索バーにファイル名を入力し、検索する。
Xcode
自分の場合は、CarthageのBuildディレクトリからプロジェクト配下に.bundleファイルをコピーしたものの、Copy Bundle Resourcesに追加できていなかった。
感想
- エラー文言がちょっとわかりづらい
- 必要不可欠な.bundleファイルが読み込めていない場合はassertしても良いのではないかと思う
- もしくはI-MLK009001など、エラーコードで検索できるとよかった