RejectProofRun the free check

Embedded framework missing — crash on launch

Check PB-34 · App Store Review Guideline 2.1 · Likely rejection when present · verified 2026-09-16

Why App Review rejects under Guideline 2.1

2.1 is the single most common rejection because it is a catch-all: crashes, dead links, placeholder content, a demo account that does not work, a feature the description promises but the build does not have. The reviewer runs the app on a real device for a few minutes and reports whatever breaks. The frustrating part is that most 2.1 rejections are mechanical and visible in the build before you upload: a framework that was not embedded (crash on launch), a support URL that returns 404, a leftover localhost address from development. Fix what they named, then look for what they did not name — on the next round they only re-check the diff.

How to fix it

The executable links a dynamic framework that is not inside the .app bundle, so dyld aborts before your code runs ("Library not loaded: @rpath/…" in the crash log) and App Review rejects under 2.1 (App Completeness). Xcode: select the target → General → Frameworks, Libraries, and Embedded Content → set the framework to "Embed & Sign" (not "Do Not Embed"); for CocoaPods run `pod install` again and make sure use_frameworks! matches how the pod is built. Expo/EAS: remove the framework from any manual `ios/` edits or config plugin, run `npx expo prebuild --clean`, then `eas build --platform ios --profile production`. Static libraries (.a) and XCFrameworks marked static do not need embedding; only dynamic frameworks listed in the evidence do.

How RejectProof detects it

The scan reads your .ipa in the browser (or locally with npx rejectproof): Info.plist, entitlements, the privacy manifest, embedded frameworks and the executable itself. Check PB-34 reports the exact evidence it found — the key, the symbol, the file or the URL — so you can confirm it in your own project before changing anything. Nothing is uploaded; only a small redacted summary is sent to build the report, and you see it first.

Related Guideline 2.1 checks

← All rejection reasons