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 也没有百分比转义,但运行良好。
简而言之,我的问题是
- 是否可以使用 Firebase 存储进行安装?
- 如果没有,是否可以安装预先下载plist文件的应用程序?
谢谢。
Best Answer-推荐答案 strong>
- 可以使用 Firebase 存储 OTA 安装应用。
问题是使用 itms-services 方案时,无法解析查询字符串。此外,转义 URL 的百分比也不起作用,因为 Firebase 无法识别 URL 并返回 404。
这可以通过使用 Google URL shortener 来规避。 . 解析缩短的 URL 没有错误。
还值得一提的是,manifest.plist 文件中的 URL 不必缩短 - 尽管您可以。但是,如果您决定按原样使用 URL,请确保 URL 中的 & 使用 XML 中的 & 进行转义。
我之所以提到这一点,是因为 Xcode 为您转义了 & ,而 .ipa 文件的 URL 只有在上传到 Firebase 存储后才能知道,而且很容易当您手动修改 plist 文件以更新安装文件 URL 时忘记转义 &。
- 预下载
plist 文件不起作用。
关于ios - Firebase 存储 - 如何通过无线方式安装 iOS,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/48782387/
|