CameraRoll.saveToCameraRoll()什么都不做(iOS)

时间:2017-10-29 21:07:51

标签: ios react-native

我正在调用以下函数将远程文件保存到相机胶卷。

在我的xcode的项目中,Project是一个指向CameraRoll项目的链接(node_modues / ...),并将其添加到Link Binary With Libraries ...

doit() {
      console.log('STARTING');
      CameraRoll.saveToCameraRoll('https://example.com/img_web/pizza.jpg', 'photo').then(function(result) {
        console.log('save succeeded ' + result);
        alert(result);
      }).catch(function(error) {
        console.log('save failed ' + error);
        alert(error);
      });
      console.log('FINISHED');
    }

我的控制台看起来总是这样: 开始结束

并且在相机胶卷中没有新图像...

如果我将URL更改为http://而不是https://并调用该函数,我会收到警报,由于安全等原因无法下载图像......所以发生了一些事情背景但承诺永远不会得到解决......

3 个答案:

答案 0 :(得分:1)

要将图像保存到用户相机胶卷,您需要将此行添加到Info.plist中:

<key>NSPhotoLibraryAddUsageDescription</key>
<string>Description...</string>

答案 1 :(得分:1)

目前仅允许本地文件,因此您必须在临时路径中下载,然后将该路径保存在相机胶卷中。

答案 2 :(得分:0)

你必须在你的plist中添加它:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>