Root USD layer first
The problem
A valid USDZ starts with its root USD layer as the first archive entry. Archives missing a layer, or with stray files first, fail to open on iOS.
The fix
Repackage with usdzip so the root .usdc is the first entry.
Check your model now
The free AR Readiness Auditor tests this (and 15 other failure modes) right in your browser — your model is never uploaded.