5

我正在做一个反应原生项目。我需要将捕获的图像存储在自定义文件夹中。

我正在为此使用 react native fs 库。我能够在所需目录中创建图像,但无法在我的 iphone 文件目录中看到这些图像。

这是我用来存储图像的代码。

 async moveAttachment(capturedImagePath) {

    $filePathDir = `${RNFS.DocumentDirectoryPath}/myapp/myfilename`;
    $filePath = `${$filePathDir }/myfilename.png`;
    return new Promise((resolve, reject) => {
        RNFS.mkdir(filePathDir)
        .then(() => {
            RNFS.moveFile(capturedImagePath, filePath )
            .then(() => resolve(dirPictures))
            .catch(error => reject(error));
        })
        .catch(err => reject(err));
    });
}

我可以在模拟器的文档目录中看到图像,但在 iPhone > files 目录中看不到。

请帮我解决这个问题。

4

1 回答 1

18

您应该能够通过更新您的Info.plist. 您需要添加两个键:

UIFileSharingEnabled并且LSSupportsOpeningDocumentsInPlace都应该被添加并设置为YES.

  • UIFileSharingEnabled: 应用程序支持 iTunes 文件共享
  • LSSupportsOpeningDocumentsInPlace: 支持原地打开文件

这将允许您DocumentsDirectory在 iTunes 中打开,并且还应该允许您通过Files应用程序共享文件。

信息列表

你可以在这里阅读更多LSSupportsOpeningDocumentsInPlace

在 iOS 11 及更高版本中,如果此键和UIFileSharingEnabled键均为YES,则本地文件提供程序将授予对应用程序Documents目录中所有文档的访问权限。这些文档出现在Files 应用程序和文档浏览器中。用户可以就地打开和编辑这些文档。

请注意,您保存在目录中的任何Documents项目都可以访问。

于 2019-02-11T09:40:13.013 回答