[ Package conformance ]
Expo SDK · >=13.0.0
expo-contacts
native-seam: upstream expo-contacts JS runs from the bundle; the seam now seeds the standard Apple sample address book the bare reference iOS Simulator ships (Kate Bell, Daniel Higgins, John Appleseed, Anna Haro, Hank Zakroff, David Taylor — the long-stable *@mac.com sample set), so getContactsAsync/getContactByIdAsync return the same contacts a real RN app sees on the conformance Simulator instead of an empty list. add/update/remove then mutate that store like CNContactStore.80%
API coverage


← iOS 26.4|Peach →
expo-contactsExpo Contactsexpo-contacts dense permission and CRUD lifecycle. Proves availability/permission shape, create, update, fetch-by-id, filtered query, and removal in six visual checkpoints.
Diff0.15%
DeviceiPhone 16
OracleiOS 26.4
CapturedAug 13, 2026
iOS 26.4PeachDiff
Expo ContactsiOS 26.4
Expo ContactsiOS 26.4
Expo ContactsiOS 26.4
Expo ContactsiOS 26.4
Expo ContactsiOS 26.4
Expo ContactsiOS 26.4
Working (11)
reference-Simulator default address book seeded (queryable by name/idsorted/paginated); upstream enums/constants and JS validationadd/update/remove contactsgetContactsAsync/getPagedContactsAsync with query/sort/paginationgetContactByIdAsynchasContactsAsyncpresentFormAsyncpresentContactPickerAsyncwriteContactToFileAsync data URIcontainers/default containerpermission functions; validated through real RN and sootsim add/update/query/remove smoke
Missing (7)
contact-change observer (CNContactStoreDidChange) callbacksreal image fetching for contact thumbnails (imageAvailable false)vCard import/export fidelity beyond JSON-as-data-URIgroups membership persistencelimited-access picker semanticsexact field-format parity with a specific live iOS build (names/emails are the stable documented sample set; phone/address formatting may vary by iOS version)no cross-reload persistence