TestFlight对我的iOS可执行文件做了什么?

TestFlight对我的iOS可执行文件做了什么?,ios,app-store,testflight,Ios,App Store,Testflight,我在启动时对我的iOS可执行文件进行散列,以验证其完整性,在TestFlight之前,我一直没有遇到过任何问题。TestFlight似乎在修改可执行文件,并以某种时髦的(未记录的?)方式进行安装 更令人担忧的是,我得到了多个散列值,它们似乎因设备、iOS版本、运营商或其他原因而有所不同。我没有足够的设备来确定。但是没有一个哈希值与我在上传到TestFlight之前计算的哈希值匹配 所以我有两个问题:(1)TestFlight对我的可执行文件做了什么,这个过程是否有文档记录?(2)应用商店的最终版

我在启动时对我的iOS可执行文件进行散列,以验证其完整性,在TestFlight之前,我一直没有遇到过任何问题。TestFlight似乎在修改可执行文件,并以某种时髦的(未记录的?)方式进行安装

更令人担忧的是,我得到了多个散列值,它们似乎因设备、iOS版本、运营商或其他原因而有所不同。我没有足够的设备来确定。但是没有一个哈希值与我在上传到TestFlight之前计算的哈希值匹配


所以我有两个问题:(1)TestFlight对我的可执行文件做了什么,这个过程是否有文档记录?(2)应用商店的最终版本是否与我上传时的可执行文件相同或类似,还是没有修改?

这就是代码签名的目的

对应用程序进行代码签名可以向用户保证它来自已知的源和 自上次签名后,应用程序未被修改

资料来源:


苹果似乎加密了你的应用程序。虽然这篇文章是关于应用商店提交的,但对于试飞来说可能是一样的(对此不确定)

见:


另外,不建议您自己验证应用程序的完整性,因为您会遇到此类问题。此外,iOS已经为您做到了这一点:

苹果不提供任何受支持的方式供您检查应用程序的 诚实正直默认情况下,iOS已经做到了这一点


来源:

除了d4rk的答案之外,如果您使用的是Swift,苹果会以适当的位编译每个设备的应用程序。

感谢您提供的信息和链接!我知道代码签名的变化,但对于企业版和应用商店版本,只有一个签名。每次下载的.ipa都包含完全相同的可执行二进制文件。TestFlight是不同的——它做的事情更多,而且根据设备类型或其他原因有所不同。目前,我只是想了解这些差异。好吧,但为什么这对你如此重要?众所周知,苹果没有最透明的流程;-)我不是说,不可能知道他们在做什么,但我就是不明白,为什么你要投入这么多精力。因为这是一项业务需求。事实上。我将在下一个版本中处理比特码的可变性。但现在我们已经关闭了位代码。如果您是付费开发人员成员,您将获得免费的技术支持问题。你可以直接问苹果。他们可能是唯一可以肯定的人。