简体   繁体   English

TestFlight对我的iOS可执行文件有什么作用?

[英]What does TestFlight do to my iOS executable?

I hash my iOS executable at launch to verify its integrity, and have had no problems doing so until TestFlight -- which appears to modify the executable as well as install it in some funky (undocumented?) way. 我在启动时对我的iOS可执行文件进行了哈希处理以验证其完整性,直到TestFlight为止,这样做都没有问题-它似乎可以修改可执行文件并以某种时髦的方式(未记录?)进行安装。

Even more concerning is I get multiple hash values, which appear to vary by device or iOS version or carrier or something. 更令人担忧的是,我得到了多个哈希值,这些值似乎因设备或iOS版本,运营商或其他因素而有所不同。 I don't own enough devices to be certain. 我没有足够的设备来确定。 But none of the hashes match the one I compute prior to uploading to TestFlight. 但是没有一个哈希值与我上传到TestFlight之前计算的哈希值匹配。

So I have two questions: (1) What is TestFlight doing to my executable, and is the process documented somewhere? 因此,我有两个问题:(1)TestFlight对可执行文件做了什么,该过程是否记录在某处? And (2) Does the final app store release pull the same shennanigan, or something similar, or does it leave my executable unmodified from when I uploaded it? (2)最终的应用商店发行版是否会提取相同的shennanigan或类似内容,还是在我上传可执行文件后不对其进行修改?

That's what code signing is for. 这就是代码签名的目的。

Code signing your app assures users that it is from a known source and the app hasn't been modified since it was last signed. 对应用程序进行代码签名可确保用户来自已知来源,并且自上次签名以来未对其进行过修改。

Source: https://developer.apple.com/support/code-signing/ 资料来源: https : //developer.apple.com/support/code-signing/


It seems like Apple encrypts your app. Apple似乎在加密您的应用程序。 While this post is about App Store submission, could be the same for Test Flight (not sure about this). 虽然这篇文章是关于App Store提交的,但对于Test Flight来说可能是相同的(不确定)。

See: https://stackoverflow.com/a/5784332/2019384 参见: https : //stackoverflow.com/a/5784332/2019384


Also it's not recommended to verify your apps integrity by yourself , as you'll run in such issues. 另外,不建议您亲自验证应用程序的完整性 ,因为这样会导致问题。 Besides iOS already does this for you: 此外,iOS已经为您做到了:

Apple does not provide any supported way for you to check your app's integrity. Apple没有为您提供任何支持的方法来检查应用程序的完整性。 iOS already does that by default. iOS已默认执行此操作。

Source: https://forums.developer.apple.com/thread/52801 资料来源: https : //forums.developer.apple.com/thread/52801

除了d4rk的答案外,如果您使用的是Swift,Apple还会以适当的位进行编译以针对每种设备优化您的应用程序。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 TestFlight 是如何做到的? - How does TestFlight do it? iOS 8 TestFlight未安装应用 - iOS 8 TestFlight does not install app iOS App将不再通过Testflight安装,该怎么办 - IOS App will no longer install via Testflight anymore, what should I do 我是否需要加入iOS开发者计划才能通过TestFlight发送我的应用版本? - Do I need to be in the iOS Developer Program to send my app builds through TestFlight? 我是否需要iOS开发者许可证才能使用TestFlight - Do I need an iOS developer license for TestFlight Fastlane不会通过电子邮件向我的内部测试人员发送testflight - Fastlane does not email my internal testers for testflight DispatchWallTime在iOS上做了什么? - What does DispatchWallTime do on iOS? iOS:当我问Siri“您能做什么?”时,Siri没有列出我的iOS付款应用程序 - iOS: Siri does not list my iOS payments app when I ask Siri “What can you do?” iOS 的 Flutter 应用程序:从计算机安装时,“评价我的应用程序”在设备上有效,但从 TestFlight 安装时无效 - Flutter app for iOS: 'Rate My App' works on device when installed from computer but does not work when installed from TestFlight iOS Apple TestFlight 版本需要什么样的证书和配置文件? - What kind of Certifcate and Provisioning Profile is needed for an iOS Apple TestFlight release?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM