Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从不同的项目下载并使用存储在Firebase存储中的文件_Ios_Swift_Firebase_Firebase Storage - Fatal编程技术网

Ios 从不同的项目下载并使用存储在Firebase存储中的文件

Ios 从不同的项目下载并使用存储在Firebase存储中的文件,ios,swift,firebase,firebase-storage,Ios,Swift,Firebase,Firebase Storage,我使用Firebase存储在FB中存储图像,我将下载URL保存在实时数据库中,并从存储中检索一些照片,我使用以下代码: let storage = FIRStorage.storage() imageRefInDB.observeEventType(.Value, withBlock: { (snapshot) in // Get download URL from snapshot let downloadURL = snapshot.value

我使用Firebase存储在FB中存储图像,我将下载URL保存在实时数据库中,并从存储中检索一些照片,我使用以下代码:

   let storage = FIRStorage.storage()
    imageRefInDB.observeEventType(.Value, withBlock: { (snapshot) in
        // Get download URL from snapshot
        let downloadURL = snapshot.value as! String
        // Create a storage reference from the URL
         let storageRef = storage.referenceForURL(downloadURL)
        storageRef.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
            if (error != nil) {
                print(error.debugDescription)
            } else {
                let downloadedImage = UIImage(data: data!)
            }
        }
    })
我的问题是我想用我的一些照片,在另一个Firebase项目。例如,下载URL将是:

在我当前的项目中,bucket是不同的,如:

当我尝试在当前的
PROJECT2
中使用
PROJECT1
文件时,出现以下错误:

reason: 'Provided bucket: PROJECT1.appspot.com does not match bucket specified in FIRApp configuration: PROJECT2.appspot.com
是否有一种方法可以从其他项目(如Firebase中的设置)下载这些文件,而无需通过常规URL下载来检索它们?
谢谢你的帮助

我试过一次,结果过得很不愉快。在我的例子中,我有两个不同的存储桶来存储我的图像,所以我必须找到另一个解决方案

如果只有一个bucket,可以尝试在
FIRApp
中配置该bucket:

let firOptions = FIROptions(googleAppID: googleAppID, bundleID: bundleID, GCMSenderID: GCMSenderID, APIKey: nil, clientID: nil, trackingID: nil, androidClientID: nil, databaseURL: databaseURL, storageBucket: storageBucket, deepLinkURLScheme: nil)        
FIRApp.configureWithName("anotherClient", options: options)
let app = FIRApp(named: "anotherClient")

let storageRef = FIRStorage.storage(app: app!).reference()
取自,因此您可能需要修改它以满足您的需要

使用该应用程序,您可以像下载图像数据一样使用Firebase存储API

如果您有多个存储桶(如我所述),则您必须配置多个应用程序,或者(如我所做的)自行处理从下载URL下载图像(不使用Firebase存储API):


我试过一次,结果过得很不愉快。在我的例子中,我有两个不同的存储桶来存储我的图像,所以我必须找到另一个解决方案

如果只有一个bucket,可以尝试在
FIRApp
中配置该bucket:

let firOptions = FIROptions(googleAppID: googleAppID, bundleID: bundleID, GCMSenderID: GCMSenderID, APIKey: nil, clientID: nil, trackingID: nil, androidClientID: nil, databaseURL: databaseURL, storageBucket: storageBucket, deepLinkURLScheme: nil)        
FIRApp.configureWithName("anotherClient", options: options)
let app = FIRApp(named: "anotherClient")

let storageRef = FIRStorage.storage(app: app!).reference()
取自,因此您可能需要修改它以满足您的需要

使用该应用程序,您可以像下载图像数据一样使用Firebase存储API

如果您有多个存储桶(如我所述),则您必须配置多个应用程序,或者(如我所做的)自行处理从下载URL下载图像(不使用Firebase存储API):


弗兰克是对的。将来,我们计划允许在中链接来自同一项目的其他bucket(例如,您可以有一个images bucket和一个backups bucket),但现在,您必须使用另一个
FIRApp
。Frank是正确的。将来,我们计划允许在中链接来自同一项目的其他bucket(例如,您可以有一个images bucket和一个backups bucket),但现在,您必须使用另一个
FIRApp