CocosCreator 3.6+ios发布后企业签名后热更新下载.manifest失败

好的,我们验证下。

问题点在于原生代码里的IOS后台下载,注释代码 就行了

能贴出来么?
是一类问题不?

麻烦告知一下是注释的哪部分代码, 我们好确定下是支持IOS后台下载还是支持断点续传时引入的问题
以及能否帮忙测试应用了这个修改后是否还有上述问题. 如果有的话 我们再想办法调整一下https://github.com/cocos/cocos-engine/pull/13737

10赞

你这个改动试过了没用,下面这个老兄的代码注释,验证过了,确实正常了

另外,我对iOS不大懂细节,这个问题这么奇怪,如果解决了,麻烦cocos这边给点技术上的解释看看,重签名为何会造成如此奇怪的现象

有可能是做过企业签以后,ios后台下载的文件权限会有问题,会报文件读写异常。

怎么3.8还是有这个问题

3.8.5 也是同样的问题 自己打包出来的 ipa 都正常 但是企业签名重新签名过就不正确了

牛逼这个方法真的行 666666666 来自 2024 年 12 月 14

1赞

我也是 3.8.5 试了可以,已解决!

正在测试中,希望有效果

确实有效,厉害了 :+1: :+1: :+1: :+1:

3.8.1,尝试注释了似乎失败了,还是这种提示,你是咋弄的?

不会吧,我的3.8.6,成功了,你是不是有别的bug影响了热更新?检查一下服务器,资源文件等能否访问呢?

别告诉我五天了还没解决 :laughing:

:+1:我就喜欢这个社区人才又多

26年6.26 3.8.8也遇到这个问题了,Mark

技术解释来了:

真正原因是企业签改变了游戏的包名,而后台下载是ios系统服务,依赖游戏的包名进行鉴权,通过后才回调。

解决的办法就是要么就像前面的一样,用前台下载,但是缺点是游戏缩到后台后下载会停掉。要么就在企业签之后,把包名再改回来一次。

iOS 系统的后台下载守护进程 (nsurlsessiond) 在接受 BackgroundDownloadIdentifier0 这个任务时,会进行极为严格的鉴权。一旦它发现当前 App 的描述文件是通配符,或者 Bundle ID 与描述文件并不严格匹配,系统进程就会把这个安全级别降低,直接拒绝为其提供后台网络服务。

这不是引擎的问题,无论任何引擎用后台下载都有这个问题,所以不需要引擎支持来修复,让打企业签的人自己想办法。

1赞