Compare like with like before interpreting the package.
Packaging format, signing stage, build configuration, architecture, and symbol handling can all dominate the delta.
Match format and stage
Compare AAB to AAB, APK to APK, or IPA/archive to the same stage. Record whether packages are signed, thinned, development, ad hoc, or distribution candidates.
Pin platform tooling
Record Unity, Gradle/Android tooling or Xcode, target/minimum OS, scripting backend, architecture set, and relevant build flags.
Carry expected changes
Let the release owner declare expected permission, SDK, capability, and payload changes. The review should distinguish them from surprises without hiding either.
Inspect the merged Android contract and embedded payload.
Unity exports launcher and unityLibrary modules, and multiple sources contribute to the final application manifest and dependency graph.
Diff the final manifest
Compare permissions, features, components, intent filters, authorities, exported state, SDK levels, application flags, and other store- or security-relevant values in the merged result.
Inventory native and Java dependencies
Inspect packaged ABIs, .so libraries, AAR/JAR or resolved dependencies, identifiable versions, and additions caused by Unity plug-ins or Gradle modules.
Break down payload and symbols
Compare compressed and unpacked size by defensible package section; verify expected native debug-symbol outputs without treating their absence as proof of a release defect.
Review the generated Xcode contract and the signed app.
Unity generates an Xcode project, while Xcode builds and signs the application. Evidence can change at each stage.
Diff bundle metadata
Compare bundle identifiers and versions, minimum OS, URL schemes, privacy and usage-description keys, supported devices, and relevant Info.plist values.
Inspect frameworks and slices
Inventory embedded frameworks, dynamic libraries, identifiable SDK versions, architectures, and unexpected simulator or debug content.
Verify final entitlements
Compare the target capability intent, entitlements file, provisioning profile allowance, signing log, and entitlements embedded in the signed app when diagnosing a change.
Make every flag traceable to the package.
A release diff should help an owner decide what to inspect next, without masquerading as a store-review oracle.
Show added, removed, and changed
Include both sides and the path or package entry that supports the comparison. An unexplained removal can be as material as an addition.
Label version confidence
Distinguish declared versions, embedded version evidence, fingerprint-based guesses, and unknown libraries. Do not promote heuristics into exact inventory.
Apply explicit studio policy
Use review/block/observe status for agreed permissions, entitlements, SDK families, architectures, symbols, and size thresholds. Keep store approval outside the claim.
Inspect the underlying documentation.
This guide is XeSoft's evaluation framework, not a substitute for the source documentation. Links below go to the primary publisher.
Unity's launcher and unityLibrary modules, manifests, plug-ins, assets, symbols, and dependency files.
UnityHow Unity builds iOS applications ↗The Unity-to-Xcode build stages and incremental generation of plist and entitlement files.
UnityUnity Xcode project structure ↗Generated targets, frameworks, data, and Info.plist surfaces.
AppleDiagnosing issues with entitlements ↗How to inspect target, provisioning-profile, build-log, and signed-app entitlement state.