OGeek|极客世界-中国程序员成长平台

标题: ios - Firebase 存储 - 如何通过无线方式安装 iOS [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:44
标题: ios - Firebase 存储 - 如何通过无线方式安装 iOS

iOS OTA 安装不适用于 Firebase 存储,我猜这是因为存储 URL 附加了查询字符串,如下所示:

https://firebasestorage.googleapis.com/v0/b/some_project%2Fmanifest.plist?alt=media&token=some_token

当我使用以 .plist 结尾的 Amazon S3 URL 时,它工作正常,当我删除查询部分时,以下代码至少会响应——尽管它说它无法连接:

让 url = URL(string: "itms-services://?action=download-manifest&url=\(str)")! UIApplication.shared.openURL(url)

查询字符串到位后,它甚至没有响应。

我进行了一些搜索,这并不是因为 URL 没有进行百分比转义。 S3 URL 也没有百分比转义,但运行良好。

简而言之,我的问题是

  1. 是否可以使用 Firebase 存储进行安装?
  2. 如果没有,是否可以安装预先下载plist文件的应用程序?

谢谢。



Best Answer-推荐答案


  1. 可以使用 Firebase 存储 OTA 安装应用。

问题是使用 itms-services 方案时,无法解析查询字符串。此外,转义 URL 的百分比也不起作用,因为 Firebase 无法识别 URL 并返回 404。

这可以通过使用 Google URL shortener 来规避。 . 解析缩短的 URL 没有错误。

还值得一提的是,manifest.plist 文件中的 URL 不必缩短 - 尽管您可以。但是,如果您决定按原样使用 URL,请确保 URL 中的 & 使用 XML 中的 & 进行转义

我之所以提到这一点,是因为 Xcode 为您转义了 &,而 .ipa 文件的 URL 只有在上传到 Firebase 存储后才能知道,而且很容易当您手动修改 plist 文件以更新安装文件 URL 时忘记转义 &。

  1. 预下载 plist 文件不起作用。

关于ios - Firebase 存储 - 如何通过无线方式安装 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48782387/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4