Firebase Cloud Storage 'getDownloadUrl' Not Working With Ionic 'capacitor://localhost' iOS

ozxc1zmp  于 2023-08-01  发布在  Ionic
关注(0)|答案(2)|浏览(120)

操作系统

iOS 16.5

浏览器版本

电容器iOS WebView

Firebase SDK版本

9

Firebase SDK产品:

储存

描述您项目的工具

离子角电容器

描述问题

当运行命令“ionic cap build ios”并从Xcode运行项目时,从capacitor://localhost(本机应用程序)提供时,getDownloadUrl没有输出,但当运行命令“ionic cap run ios -l --external --open”时,从http://localhost工作
我尝试使用then/catch和try/catch,但没有希望,并检查了库的源代码,似乎库没有通过错误,如果有。我尝试从node_modules编辑库,但是构建过程中需要摇动树、缩小、丑化和删除console.logs(),这非常困难。我知道Google不能支持像capacitor://localhost这样奇怪的协议,但是现在市场上30%的应用程序都在使用它,我能得到一些帮助吗?也许是一些白名单也许是一些存储权限?我花了10个小时来调试,但没有好消息...

重现问题的步骤和代码

在'http://localhost'中

getDownloadURL(storageRef)
          .then((res) => {
            console.log(res); //working
          })
          .catch((err) => {
            console.log(err); //no output
          });

字符串
在'capacitor://localhost'中

getDownloadURL(storageRef)
          .then((res) => {
            console.log(res); //no output
          })
          .catch((err) => {
            console.log(err); //no output
          });


感谢你的帮助。

d7v8vwbk

d7v8vwbk1#

它是固定在最新的angular-fire版本,你可以使用它,这将解决问题

whitzsjs

whitzsjs2#

您是否使用Capacitor HTTP来修补获取和XHR请求?这可能是问题所在。检查你的capacitor.config.ts文件插件部分中是否有下面的块

CapacitorHttp: {
  enabled: true,
},

字符串
如果是,请将其移除并尝试。当电容器修补Firebase XHR请求时,其导致一些返回错误的问题。在Thread Here中讨论了相同的问题

相关问题