ipa包含内嵌的frameworks,重签名后,两个APP网络互相影响

各位大佬,
最近我把两个ipa用同一个证书进行了重新签名,这两个iPA里面都有内嵌的framework,签名之后都是可以正常安装,但是网络表现很奇怪。
这两个App,他们的网络权限互相影响。比如我安装了a和b两个app。我打开a,不打开b,那a就算打开了网络权限,也永远不会有网络。然后这个时候我打开b,同意使用网络,那么a这个时候也就有网络了。
反之也是这样,如果只安装a,那网络都是可以正常使用的。但是这个时候我再安装b,但是不打开b,或者打开b但是不同意b使用网络,那么这个时候a包就会突然无法请求网络了。
各位大佬,请问这个是什么原因造成的?
目前发现就是如果ipa里面没有这种内嵌的framework,就完全不会出现这种问题。只要有,就会出现这个问题,和内嵌的framework具体是什么内容完全没有关系。
然后如果是直接使用xcode的debug运行的包体,就又不会出现这种奇怪的网络权限问题。
跪求有经验的大佬指点明经!

这个很简单, 就是国航的BUG. 同一个证书, 不管你签名多少个程序, 但凡有一个程序没有授权网络, 全都会没有网络

大佬,这个是我自己的苹果开发者证书签名的,不是其他的证书。程序也是我自己开发的程序啊。。
而且我还测试出来一些新的结果,就是比如你多生成几次二进制文件,然后再打包,这个包网络可能就又和其他包没关联了。
具体什么原因我也搞不清楚,很诡异。

苹果在社区里已经解释过了。https://developer.apple.com/forums/thread/737416
本地网络隐私依赖于 NECP,这是 Apple 平台上的一个子系统,用于控制哪些程序可以访问哪些网络接口。

在内部,NECP 使用程序的主要可执行文件 Mach-O UUID (LC_UUID ) 来跟踪该程序的身份。如果你有两个程序具有相同的 UUID,NECP 可能会感到困惑

当您从同一源代码构建同一应用程序的两个变体时,通常会发生这种情况。例如,您可能有使用相同代码的应用程序的 ProLite 版本。

如果您在两个应用程序之间遇到奇怪的本地网络隐私交互,请检查它们的 LC_UUID 值。

2 个赞

感谢大佬解惑!