Prefer the smallest useful access boundary.
A system picker is a strong starting point when a person chooses the photos your app should import. A broader PhotoKit workflow may be appropriate for an app whose core purpose needs library access. These are product and permission decisions, not interchangeable names for the same upload button.
01 /Define the selection task
Decide whether the user needs one image, several images, or a library management workflow. Explain the purpose before requesting broader access.
02 /Load the selected content
Treat selection and data availability separately. A chosen asset may require additional loading, and a loading failure needs a useful retry path.
03 /Import into app ownership
If the product needs a lasting copy, make that transfer explicit. Track the selected item, import result, and application asset separately.
04 /Handle access changes
For PhotoKit library operations, recheck authorization and handle limited or denied states. For picker imports, handle loading failures or reselection without requiring broad library permission.