Skip to content

CameraButton 1.0: Liquid Glass, SwiftUI wrapper and bug fixes - #1

Merged
Ramiz69 merged 2 commits into
masterfrom
release/1.0.0
Oct 19, 2026
Merged

Ramiz69 merged 2 commits into
masterfrom
release/1.0.0

Conversation

@Ramiz69

@Ramiz69 Ramiz69 commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

Refresh of the library for iOS 26 / Swift 6: bug fixes, Liquid Glass style and a SwiftUI wrapper. Public API stays source-compatible; all additions are opt-in.

Fixes

  • Inner shapes are built from bounds and rebuilt on layout changes (previously taken once from frame, broken with Auto Layout / .zero init)
  • Removed the awakeFromNib constraint hack; added a 60×60 intrinsicContentSize
  • Photo mode no longer gets stuck shrunk on touch up outside; touchCancel no longer starts "recording" in video mode
  • Model layer values stay in sync with animations (no more isRemovedOnCompletion = false)
  • Video stop square is centered
  • A quick photo tap now plays a full shutter animation (before, only a press-and-hold was visible)

New

  • style: .classic / .glass — Liquid Glass via UIGlassEffect on iOS 26+, falls back to classic on earlier systems and older compilers
  • glassTintColor, isHapticFeedbackEnabled, Reduce Motion support, default VoiceOver labels
  • Recording progress ring: recordingProgress, animateRecordingProgress(duration:), progressColor
  • CameraShutterButton — thin SwiftUI wrapper over the same CameraButton
  • "Liquid Glass" demo screen in the example app (UIKit + SwiftUI)

Chore

  • Package.swift minimum iOS 14 → 15 to match podspec and README
  • CI rewritten (old workflow used Xcode 11.3 / iOS 13.1)
  • .gitignore, removed committed .DS_Store
  • CocoaPods support dropped: podspec removed, README points to SPM (0.0.4 stays the last pod)
  • README bumped to 1.0.0

Test plan

  • xcodebuild for the SPM package and the example app (iOS Simulator, Xcode 27.1)
  • Simulator: classic photo/video, glass photo/video, SwiftUI binding, progress ring, quick-tap shutter animation
  • CI on macos-15 runner
  • Check on a physical device (haptics)
  • After merge: tag 1.0.0

Fixes:
- Build inner shapes from bounds and rebuild them on layout changes
- Remove awakeFromNib constraint hack; add 60x60 intrinsic size
- Restore photo state on touch up outside; cancel no longer starts recording
- Keep model layer values in sync with animations
- Center the video stop square
- Make a quick photo tap play a full shutter animation

New:
- Liquid Glass style (iOS 26+) with fallback to classic
- Haptic feedback, Reduce Motion support, VoiceOver labels
- Recording progress ring
- SwiftUI CameraShutterButton wrapper
- Liquid Glass demo screen in the example app

Chore: iOS 15 minimum in Package.swift, modern CI, .gitignore,
README and podspec updated to 1.0.0
Remove RKCameraButton.podspec and CocoaPods install docs; 0.0.4 stays the
last published pod. Swift Package Manager is the only supported way.
@Ramiz69 Ramiz69 mentioned this pull request Oct 19, 2026
2 of 4 tasks
@Ramiz69
Ramiz69 merged commit 18194f5 into master Oct 19, 2026
1 check passed
@Ramiz69
Ramiz69 deleted the release/1.0.0 branch October 19, 2026 12:32
@Ramiz69
Ramiz69 restored the release/1.0.0 branch October 19, 2026 12:33
@Ramiz69
Ramiz69 deleted the release/1.0.0 branch October 19, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant