我在启动时哈希我的iOS可执行文件以验证其完整性,并且在TestFlight之前没有遇到任何问题 - 它似乎修改了可执行文件并以某种时髦(未记录的)方式安装它。
更令我担心的是,我获得了多个哈希值,这些哈希值似乎因设备或iOS版本或运营商或其他内容而异。我没有足够的设备来确定。但是,在上传到TestFlight之前,没有任何哈希值与我计算的哈希值匹配。
所以我有两个问题:(1)TestFlight对我的可执行文件做了什么,是否在某处记录了流程?并且(2)最终的应用程序商店版本是否会使用相同的shennanigan,或类似的内容,或者在我上传它时不会修改我的可执行文件?
答案 0 :(得分:0)
这就是代码签名的目的。
对您的应用进行代码签名可确保用户确认来自已知来源 该应用程序自上次签名后未被修改。
来源:https://developer.apple.com/support/code-signing/
似乎Apple加密了您的应用。虽然这篇文章是关于App Store提交的,但对于Test Flight可能是相同的(不确定)。
请参阅:https://stackoverflow.com/a/5784332/2019384
同样不建议您自行验证应用的完整性,因为您会遇到此类问题。除了iOS已经为你做了这个:
Apple不提供任何受支持的方式来检查您的应用 完整性。 iOS默认情况下已经这样做了。
答案 1 :(得分:0)
除了d4rk的回答之外,如果您使用Swift,Apple会针对每个设备编译适当的位来优化您的应用。