photo-library

Implement PhotosPicker and PHPicker flows with limited library access handling.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/derKlinke/codex-config --skill photo-library
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: photo-library
Source: https://github.com/derKlinke/codex-config/tree/main/skills/ios-photo-library
Command: npx skills add https://github.com/derKlinke/codex-config --skill photo-library

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps iOS developers implement privacy-forward photo selection, controlled access to the user's library, and reliable saving of media to the camera roll, simplifying integration and UX consistency.

Core Features & Use Cases

  • Privacy-first selection: Uses PhotosPicker or PHPicker to avoid unnecessary full library access.
  • Limited library support: Handles .limited authorization and provides a guided path to expand access.
  • Save to camera roll: Includes safe, permission-scoped saving of photos with minimal access.
  • Use Case: A social app allows users to add photos from their library and share them while respecting privacy.

Quick Start

Integrate a PhotosPicker flow that lets users select images from the Library, handle .limited status by presenting the limited picker, and provide a Save to Camera Roll option.

Frequently Asked Questions about photo-library

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement privacy-first photo selection in SwiftUI using PhotosPicker?

Privacy-first photo selection in SwiftUI uses PhotosPicker to let users choose images without granting full library access. This approach avoids broad permissions by keeping selection isolated to the picked assets, ensuring user privacy and simplifying integration.

How do I handle .limited photo library authorization status in iOS?

Handling .limited photo library authorization involves presenting a guided selection picker when access is restricted. You can observe PHPhotoLibrary changes to keep your UI synchronized, providing a clear path for users to expand access if needed.

What is the best way to save photos to the camera roll with minimal access permissions?

Saving photos to the camera roll with minimal access requires permission-scoped writing APIs. This ensures your app saves media safely without requesting comprehensive photo library privileges, adhering to strict iOS privacy guidelines.

Can I use PHPicker for photo selection in both SwiftUI and UIKit?

Yes, PHPicker can be integrated for photo selection across both SwiftUI and UIKit implementations. It provides a privacy-conscious mechanism for user photo picking that operates independently of full library authorization.

Why does my SwiftUI photo picker UI not update after limited library changes?

Your UI may not update because PHPhotoLibrary change observation is not implemented. Observing photo library changes keeps your interface synchronized when users modify their limited library selection or expand access permissions.

Do I need full photo library access to save media to the camera roll?

No, full photo library access is not required to save media to the camera roll. You can utilize safe, permission-scoped saving methods that allow writing photos with minimal access, protecting user privacy.