Widgets, controls, and Live Activities
Test each extension's signed configuration, App Intents, dynamic styling, privacy redaction, updates, deep links, and expired data.
ios/ParcelTrackWidget/ParcelTrackWidget.swift:1
App Store review
Independent release assessment
Sample report
One confirmed privacy blocker remains. Two warnings need product and target-level review before this build is ready for App Store Connect.
Scope
Frameworks, native targets, and evidence limits included in this review.
Platform readiness
Runtime tests: not run. Reference checked: 2026-10-09 (bundled reference). Technology signals guide review; optional adoption is not a submission requirement.
No resolved build metadata supplied.
Test each extension's signed configuration, App Intents, dynamic styling, privacy redaction, updates, deep links, and expired data.
ios/ParcelTrackWidget/ParcelTrackWidget.swift:1
Verify StoreKit 2, offers, refunds, restore, assigned/revoked seats, bundles/suites eligibility and rollout, and monthly commitment disclosures.
src/purchases.ts:1
No source signal was detected for these areas. This does not establish absence or non-applicability.
No source signal was detected; absence or non-applicability is unverified.
Foundation Models; Private Cloud Compute; Core AI and custom models; AI evaluations; Siri and App Intents; Spotlight and semantic search; SwiftUI and document interfaces; UIKit, scenes, and adaptive layout; Background Assets and background work; Music Understanding; Now Playing and media sharing; Camera, photos, RAW, and video; Games, Metal, and spatial content; PencilKit and PaperKit; HealthKit and HomeKit; Trust Insights; Identity, age assurance, and security; Networking and accessories; MetricKit and performance; WebKit and embedded web content; Tracking and ATT
27.1 development support · October 23, 2026
Use available development tools; record physical-device evidence only when the device was actually tested.
https://developer.apple.com/news/?id=kkphp5qo
App Store submission · April 2027 (day not announced)
Prepare device/orientation assets and recheck the enforcement date; this is not an October 2026 blocker.
https://developer.apple.com/news/?id=kkphp5qo
27.1 RC · Snapshot checked October 9, 2026
Distinguish simulator/Device Hub limitations from app failures and check the actual tool revision.
https://developer.apple.com/documentation/xcode-release-notes/xcode-27_1-release-notes
27.2 beta 3 · Snapshot checked October 9, 2026
Verify the expanded ATT interface, annual EU re-prompt and renamed APIs against the actual beta SDK and applicable region; do not impose a current worldwide requirement.
https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-27_2-release-notes
App Store commerce rollout · Volume: October 22, 2026; Groups: winter; Bundles/Suites: later in 2026
Check eligibility and actual customer availability separately from access to configuration; test StoreKit 2 ownership, seats, refunds and restore.
https://developer.apple.com/news/?id=likeohx4
27 SDK release notes · Verify the owning feature's release and region
Check AudioAccessoryKit, spatial APIs and other used preview capabilities individually. Resolved beta issues are not current app defects.
https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-27-release-notes
Findings
Sorted by severity. Each item keeps the file evidence, policy basis, correction, and verification step together.
ASR-PERM-CAMERA
Evidence
Why it matters
The release flow requests access to a protected resource without a specific explanation of why the app needs it.
Fix
Add NSCameraUsageDescription in the Expo iOS configuration and explain that the camera scans parcel labels to add tracking numbers.
Verify
Build the release archive, inspect the merged Info.plist, then trigger the label scanner on a clean device.
ASR-PRIVACY-WIDGET
Evidence
Why it matters
Privacy manifests are target-sensitive. The app target manifest does not prove that the extension ships the required declaration.
Fix
Verify the extension target resources, then add the Required Reason API declaration at the widget source of truth if the archive does not contain it.
Verify
Export the archive and inspect the widget bundle for PrivacyInfo.xcprivacy and the declared UserDefaults reason.
ASR-43-EMPTY-STATES
Evidence
Why it matters
Two high-traffic screens use the same placeholder copy and provide no next action, which makes the product feel generic during first review.
Fix
Give each state a specific explanation and action, such as scanning the first parcel or adding a tracking number manually.
Verify
Launch with a new account and confirm each empty state explains the screen and leads to a working next step.
ASR-NOTES-WIDGET
Evidence
Why it matters
The note names the feature but does not tell a reviewer how to add it or what successful data looks like.
Fix
Add exact widget installation steps and the demo parcel that should appear.
Verify
Follow the notes from a clean simulator without using repository knowledge.
Manual checks
These require a release build, device, reviewer account, or App Store Connect evidence.
The fictional sample has no candidate archive. Authored settings cannot establish linked SDK, Xcode, or each extension deployment target.
Verify: Inspect each executable bundle and CI log against current upload requirements and the selected toolchain support table.
Screens and source cannot establish fold/unfold, Mirroring, per-scene state or SDK-linked lifecycle behavior.
Verify: Verify launch, restoration, live resizing, keyboard and task continuity on the candidate, separating simulation from hardware evidence.
iOS 27 readability, icon appearance and assistive task completion are unverified.
Verify: Test Dynamic Type, VoiceOver, contrast, transparency and motion preferences through the core tracking flow.
Headers, search assets and Asset Library approval states were not supplied.
Verify: Inspect approved localized previews and feature/device claims. Treat April 2027 Duo screenshots as a future requirement.
No iOS 27 runtime tests are included in this sample.
Verify: Execute the candidate on the supported OS/device matrix and record actual results.
The repository does not prove layout, rotation, keyboard, or split-view behavior in the submitted build.
Verify: Complete add, edit, notification, and delete flows on a supported iPad in portrait, landscape, and split view.
Repository signals do not establish every analytics payload, retention period, or linked-data choice in App Store Connect.
Verify: Trace production analytics and crash payloads, then compare them with the submitted privacy answers.
Static source cannot prove the storefront terms, localized price, and restored entitlement state shown by the release build.
Verify: Use a sandbox account to purchase, cancel, reinstall, and restore on iPhone and iPad.
Human craft
Grades summarize visible evidence. They are not approval probabilities and do not claim to detect AI authorship.
The carrier exception timeline and shared parcel workflow are product-specific, but the first-run state hides them.
No sibling or prior rejected project was supplied for exact asset comparison.
A consistent tracking-status system is present. Dynamic Type and VoiceOver still need device verification.
Two primary empty states repeat placeholder copy and offer no route into the core workflow.
No screenshots, subtitle, promotional text, or description were included in the review scope.
Reviewer path
A checkmark means the path was executed or supported by supplied evidence. An open circle remains manual.
App Review Notes
Exact screen names, controls, setup, credential placeholders, and expected results for the reviewer.
Demo account: <REVIEW_EMAIL> / <REVIEW_PASSWORD> To test label scanning, open Track, tap Add Parcel, then choose Scan Label. The camera is requested only after the explanation screen. To test the widget, add ParcelTrack from the Home Screen widget gallery. The demo account contains one parcel in an exception state.
Fix plan
Confirmed submission work stays separate from optional product and craft changes. Repository edits still require approval.