0

我正在尝试在我的 RN 应用程序中使用 RNFirebase MLKit 图像标签。它在android上运行良好,但在iOS上我收到以下错误,

NativeFirebaseError: [vision/file-not-found] 指定的本地文件在设备上不存在。

图像是拍摄"@react-native-community/cameraroll"的,ios图像路径如下,

电话://45983F53-3C96-42D0-9337-C9F681293627/L0/001

我尝试过的修复是,

import {utils} from '@react-native-firebase/app';

${utils.FilePath.PICTURES_DIRECTORY}/${
                d[key].node.image.filename
             }
 'assets-library' +
               '://asset/asset.JPEG?id=' +
               d[key].node.image.uri.substring(5).replace('/L0/001', '') +
               '&ext=JPEG'
ph-upload://45983F53-3C96-42D0-9337-C9F681293627/L0/001

以上都没有奏效。

构建版本是,

"react-native": "0.62.2".
"@react-native-community/cameraroll": "^1.5.2".
"@react-native-firebase/ml-vision": "^7.1.0",
"@react-native-firebase/app": "^7.1.0",
4

2 回答 2

0

React-Native Firebase ML Kit 目前没有得到维护。我们已将 ML Kit 的设备端 API(包括设备端图像标签)移出 Firebase。请查看 g.co/mlkit 以获取新的独立 ML Kit。我们目前正在制定新的独立 ML Kit 中对 React-Native 支持的未来计划,并且很想听听您对在新的独立 ML Kit 中支持 React-Native 支持的重要性的意见。同时,您可以通过 Swift 或 Objective-C API 在 iOS 上直接使用 ML Kit SDK。

于 2020-06-08T23:05:35.867 回答
0

我能够使用 RNFS 包解决这个问题,这是我修复它的方法,如果有更好的方法可用,请告诉我

用于RNFS.copyAssetsFileIOS(imagePath,destination,0,0)在临时文件目录中创建一个临时文件,RNFS.TemporaryDirectoryPath并将该路径用于 RN-MLKit。完成后用于RNFS.unlink(path)删除临时文件。

于 2020-06-10T07:29:24.220 回答