Firebase 存储不能在真正的 IOS 设备上工作

问题描述 投票:0回答:1

我正在尝试在我的 flutter 应用程序中从 firebase 存储下载图像。我的代码适用于 ios 和 android 模拟器,但是当我使用真正的 Iphone 调用 firebase 存储 API 时,我得到了一个输出:

FLTFirebaseStorage:调用方法 Reference#getData 时发生未知错误 flutter: [firebase_storage/unknown] 发生未知错误,请检查服务器响应。

我不太确定在这里做什么。有人知道解决办法吗?

我的 firebase 版本是:

firebase_core: ^2.8.0
firebase_auth: ^4.3.0
firebase_storage: ^11.0.16

我的密码是:

Future<Image?> getImage() async {
    final storageRef = FirebaseStorage.instance.ref();

// Create a reference with an initial file path and name
    final pathReference = storageRef.child("drr.jpg");
    try {
      const oneMegabyte = 1024 * 1024;
      final Uint8List? data = await pathReference.getData(oneMegabyte);
      // Data for "images/island.jpg" is returned, use this as needed.
      if (data != null) {
        return Image.memory(data);
      }
    } on FirebaseException catch (e) {
      // Handle any errors.
      print(e);
    }
    return null;
  }
ios flutter firebase firebase-storage
1个回答
0
投票

看起来这是 Firebase 规则的问题

转到 Firebase Console -> Project -> Storage -> Bucket -> Rules 并粘贴以下代码或检查它是否相同。

service firebase.storage {
    match /b/{bucket}/o {
      match /{allPaths=**} {
        allow read: if true;
        allow write: if true;
      }
   }
 }

此外,在 Info.plist 中试试这个 支持 iOS 10

 NSAllowsArbitraryLoadsInWebContent = Yes

iOS 9 支持

 NSAllowsArbitraryLoads = Yes 
© www.soinside.com 2019 - 2024. All rights reserved.