Skip to content

[iOS] Codify production entitlements, Info.plist keys, and background modes #75

@pvg13

Description

@pvg13

Context

Production iOS sync needs several entitlements / Info.plist keys that aren't codified or documented. Missing them causes App Review rejections or silent runtime failures.

Required (see §5 of the research doc)

  • aps-environment (development / production) — APNs.
  • UIBackgroundModes: remote-notification (silent-push wake). Add processing / fetch only if a BGTaskScheduler opportunistic top-up is added — do not rely on it (iOS 26 does not guarantee background grants).
  • Decide against com.apple.developer.networking.multicast — it needs Apple approval and mDNS is not used for WAN. Document this so nobody re-adds an mDNS dependency expecting it to work on device.
  • NSLocalNetworkUsageDescription + NSBonjourServices only if any LAN discovery is attempted; otherwise omit to avoid the Local Network permission prompt entirely (relay-only is cleaner on iOS).

Task

Ship a documented entitlements / Info.plist template + consumer-app docs. Note the APNs token-based (.p8) relay config and the apns-push-type: background / apns-priority: 5 expectations that match WaveSyncPushHandler.

References

  • Gap P1-4 in docs/research/ios-sync-state-of-the-art.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationpriority:highSignificant bug, common path affectedtopic:portabilityMulti-backend, IPv6, OS-specific

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions