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 也没有百分比转义,但运行良好。
简而言之,我的问题是
谢谢。
问题是使用 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |