I know for example that Google Go has reproducible builds and I would get the same hash out of the binary. But I would have to attach this hash to the binary so I could have a “print version” dialogue. And this attachment would mess up the previous binary.
Google Go was an example. I am talking about an Android, iOS app.
You may be interested in Telegram’s documentation on reusable iOS and Android builds. https://core.telegram.org/reproducible-builds
The build scrip clones the repo into a temp folder. Checks out specific commit/branch. Then runs make release (or equivalent )