React-Native Firebase ML Kit 视觉图像标签不适用于 iOS

React-Native Firebase ML Kit Vision Image Labeling not working with iOS

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

NativeFirebaseError: [vision/file-not-found] The local file specified does not exist on the device.

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

ph://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
以上的

None 有效。

构建版本是,

"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",

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

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

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