Skip to content
CAI
Software that uses CAICheck a score

tilltue/TLPhotoPicker

66.6

Adequate · 1 October 2026

4.6k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

TLPhotoPicker is a customizable iOS library for selecting and previewing photos and videos, featuring a collection-based interface with support for live photos, video playback, and camera capture. The system provides extensive UI customization options through protocols and custom cells, allowing developers to tailor the picker's appearance and behavior. It is distributed via CocoaPods and Swift Package Manager, with automated scripts available for managing releases and versioning.

Features

Added Example workspace configuration

The Example workspace now includes references to the main TLPhotoPicker project and the CocoaPods dependencies (Pods.xcodeproj), enabling the example app to be built and run with its dependencies resolved.

Example/TLPhotoPicker.xcworkspace · high confidence

Added automated release scripts for TLPhotoPicker

New shell scripts (release.sh and release-advanced.sh) have been added to the Scripts directory to automate the version bumping, podspec validation, and CocoaPods publishing workflow. The basic release script increments the patch version by default, updates the TLPhotoPicker.podspec and CHANGELOG.md, validates the podspec, commits the changes, creates a git tag, and pushes to CocoaPods. The advanced script provides additional flexibility by supporting major, minor, or specific version bumps, and allows users to input custom changelog entries before proceeding with the release process.

Scripts · high confidence

Example app adds custom UI styles, camera cells, and data source protocols

The Example app now includes several new demonstration components: a black-themed picker view controller, an Instagram-style photo cell with size overlays, a custom camera cell with live preview, and a custom data source protocol for grouping assets by date with custom headers and footers. It also adds a photo picker wrapped in a navigation controller with image preview and a dismiss completion delegate, providing more comprehensive examples for customizing the picker's appearance and behavior.

Example/TLPhotoPicker · high confidence

Initial release of TLPhotoPicker

This change introduces the TLPhotoPicker library, a customizable photo and video picker for iOS. It provides a collection view-based interface for browsing asset collections, supports live photos and video playback, and includes a camera capture service. The implementation features a thread-safe dictionary for state management, a popup view for album selection, and asset preview capabilities for images, videos, and live photos.

TLPhotoPicker · high confidence

Behavioural changes

Example project CocoaPods support files regenerated for TLPhotoPicker 2.1.14

The CocoaPods target support files for the TLPhotoPicker example project have been regenerated, updating the pod version to 2.1.14 and enforcing Swift 5.0. This includes new or updated Info.plist files, build configuration (xcconfig) files, and resource/framework installation scripts, ensuring the example app correctly links and builds against the updated library version.

Example/Pods/Target Support Files · high confidence

Example project updated to Xcode 10.2 with new custom UI demos and test removal

The TLPhotoPicker example application has been upgraded to Xcode 10.2 (LastUpgradeCheck 1020) and now includes a suite of custom UI demonstration components. New files have been added to showcase customization options, including \CustomPhotoPickerViewController\, \CustomBlackStylePickerViewController\, \PhotoPickerWithNavigationViewController\, \ImagePreviewViewController\, and various custom cells and views (header, footer, camera, Instagram-style). The project structure has been reorganized into \CustomPhotoPicker\ and \CustomCells\ groups to house these examples. Additionally, the unit test target (\TLPhotoPicker\_Tests\) and its associated build phases have been removed from the example project.

Example/TLPhotoPicker.xcodeproj · high confidence

Swift 5.0 requirement and modernized documentation

The library now requires Swift 5.0, enforced by the new .swift-version file, and the README has been completely rewritten to reflect modern usage patterns. This includes updated installation instructions supporting Swift Package Manager alongside CocoaPods, explicit iOS 13.0+ and Xcode 14.0+ requirements, and new documentation sections covering async/await usage, builder pattern configuration, and iOS 14 privacy settings.

(repo-wide) · high confidence

Dependencies

TLPhotoPicker updated to version 2.1.21 with iOS 13+ requirement and SPM support

The TLPhotoPicker library has been updated to version 2.1.21, raising the minimum iOS deployment target from 8.0 to 13.0 and enforcing Swift 5.0. This change introduces native support for Swift Package Manager (SPM) via a new Package.swift file and updates the podspec to reflect the new platform and language requirements. Additionally, the library's source repository has been moved to the tilltue/TLPhotoPicker GitHub organization, and the example project has been simplified to remove test dependencies.

(dependencies) · high confidence

Housekeeping

Example project podspec regenerated for TLPhotoPicker

The Xcode project file for the TLPhotoPicker example app has been regenerated to reflect the current state of the pod dependencies. This update ensures that the build configuration correctly includes all source files, resources, and framework references required to compile the example application against the latest pod version.

Example/Pods/Pods.xcodeproj · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 64 → 67 (+2.6)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 95 → 95 (+0.4)
  • Architecture 89 → 95 (+6.6)
  • Maturity 58 → 58 (+0.0)
  • Readiness 50 → 55 (+5.2)
  • Security 100 → 100 (+0.0)

Resolved (3)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Off-boarding risk: anonymized user #1

New (6)

  • Coverage not measured — Swift suite
  • Dependency hygiene PARTLY measured — SwiftPM pinning read, dependency currency NOT established
  • Documentation: no architecture or design documentation
  • Duplicate intent: Property and Method with identical name and signature
  • Inconsistent domain abstraction: Mixing raw PHAsset and wrapper TLPHAsset in public API
  • Off-boarding risk: anonymized user #1

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

tilltue/TLPhotoPicker was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 91d7bca65721928af30c6a2bb1a1f517f7862964 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.