Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 Swift:将文件从共享扩展名上载到Firebase存储_Ios_Swift_Firebase_Firebase Storage - Fatal编程技术网

Ios Swift:将文件从共享扩展名上载到Firebase存储

Ios Swift:将文件从共享扩展名上载到Firebase存储,ios,swift,firebase,firebase-storage,Ios,Swift,Firebase,Firebase Storage,我正在尝试从iOS中的共享扩展插件将图像上载到firebase存储,我已经进行了身份验证,并且正在与数据库通信,但是当我尝试上载文件时,它立即失败 我已经通过在我的主应用程序中使用它来确保我正在使用的代码正常工作。我还确保文件在正确上传之前已保存在文件管理器中 以下是上传前保存文件的代码: if let data = downsizeImage(image: image).jpegData(compressionQuality: 0.2) { let fileManager = File

我正在尝试从iOS中的共享扩展插件将图像上载到firebase存储,我已经进行了身份验证,并且正在与数据库通信,但是当我尝试上载文件时,它立即失败

我已经通过在我的主应用程序中使用它来确保我正在使用的代码正常工作。我还确保文件在正确上传之前已保存在文件管理器中

以下是上传前保存文件的代码:

if let data = downsizeImage(image: image).jpegData(compressionQuality: 0.2) {
    let fileManager = FileManager.default

    let url = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.com.<DOMAIN>.imageShare")?.appendingPathComponent("ImageToSend.jpg")
    do {
          try data.write(to: url!)
        }
    catch {
          print(error.localizedDescription)
        }
}
应该发生的是图像已成功上载,并且功能将正常继续。实际上,上传几乎马上就失败了。以下是返回的错误:

Printing description of error:
▿ Optional<Error>
  - some : Error Domain=FIRStorageErrorDomain Code=-13000 "An unknown error occurred, please check the server response." 
UserInfo={bucket=link-ages-55880.appspot.com,
 _NSURLErrorFailingURLSessionTaskErrorKey=BackgroundUploadTask <AC5EADEA-6257-4C32-9454-17626156AA15>.<1>,
 object=media/4qnjSBKysi79uCR3cTzf/04D22317-D2C0-4A5C-B032-4F37DB2C8F7A,
 _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "BackgroundUploadTask <AC5EADEA-6257-4C32-9454-17626156AA15>.<1>"
), 
NSLocalizedDescription=An unknown error occurred, please check the server response., 
ResponseErrorDomain=NSURLErrorDomain, ResponseErrorCode=-995}

打印错误说明:
▿ 可选的
-some:Error Domain=FIRStorageErrorDomain Code=-13000“发生未知错误,请检查服务器响应。”
UserInfo={bucket=link-ages-55880.appspot.com,

_nsurlerorfailingurlsessiontaskerrokery=BackgroundUploadTask

我发现了问题所在。由于iOS沙盒的工作方式,调用:

storageRef.putFile(from: mediaUrl, metadata: nil, completion: {(metadata, error) in})
失败。此处的详细信息:

而是调用:

storageRef.putData(Data, metadata: nil, completion: {(metadata, error) in})

按预期工作。

以及如何上载大于120 MB的数据??(例如视频)。共享扩展的RAM大小限制似乎是120MB。对于更大的数据,您必须如何继续?
storageRef.putData(Data, metadata: nil, completion: {(metadata, error) in})