Skip to content

Fix iOS 26 deprecations in SignUpDemo + bulk copyright update#6

Merged
Sajjon merged 2 commits into
mainfrom
fix_ios26_deprecations
May 6, 2026
Merged

Fix iOS 26 deprecations in SignUpDemo + bulk copyright update#6
Sajjon merged 2 commits into
mainfrom
fix_ios26_deprecations

Conversation

@Sajjon
Copy link
Copy Markdown
Owner

@Sajjon Sajjon commented May 6, 2026

Summary

The example app surfaced three iOS 26 deprecation warnings in Xcode 17:

  • 'UIRequiresFullScreen' has been deprecated starting in iOS 26.0…
  • 'init(frame:)' was deprecated in iOS 26.0: Use init(windowScene:) instead.
  • 'main' was deprecated in iOS 26.0: Use a UIScreen instance found through context instead.

All three traced to the pre-iOS-13-style @main-on-AppDelegate shortcut the example used. Migrated to scene-based lifecycle:

What changed

  • New SceneDelegate.swift — owns the UIWindow setup. Builds the window via UIWindow(windowScene:) (the modern initialiser); no UIScreen.main access; no init(frame:).
  • AppDelegate.swift shrunk to a single method (application(_:configurationForConnecting:options:)) that points the system at the scene config registered in Info.plist. No more direct window setup, no more direct coordinator wiring.
  • project.yml — drops the deprecated INFOPLIST_KEY_UIRequiresFullScreen: "YES" and adds an inline UIApplicationSceneManifest pointing at the new SceneDelegate. info.path: Generated.plist lets XcodeGen merge the manifest into the auto-generated plist; the resulting Generated.plist is gitignored alongside the existing .xcodeproj ignore.

Bulk copyright update

Open ZesameAlexander Cyon (github.com/sajjon) across 84 source / test / markdown files. The LICENSE file's mention of Open Zesame stays — it's the historical attribution about the code's origin in the Zhip wallet, which is factually correct.

Test plan

  • just example-gen && just example-buildBuild Succeeded, zero deprecation warnings
  • just test — all 75 tests pass
  • swiftformat --lint + swiftlint --strict (via pre-commit + pre-push hooks) — clean
  • just example-run on iPhone 17 / iOS 26.1 simulator — confirm the demo still launches and the SignUp → Home flow still works end-to-end

🤖 Generated with Claude Code

Sajjon and others added 2 commits May 6, 2026 07:16
iOS 26 deprecations fixed in the example app:

* `@main` on `UIApplicationDelegate` — `AppDelegate` now only routes
  scene-config requests; the actual `UIWindow` setup moved into a new
  `SceneDelegate`.
* `UIWindow.init(frame:)` — `SceneDelegate.scene(_:willConnectTo:options:)`
  builds the window via `UIWindow(windowScene:)`.
* `UIScreen.main` — gone with the move to scene-based setup.
* `UIRequiresFullScreen` — dropped (deprecated in iOS 26.0).

`project.yml` adds a single-scene `UIApplicationSceneManifest` pointing
at the new `SceneDelegate`. Result: example app builds with zero
deprecation warnings on iOS 26.

Bulk copyright update across 84 source/test/markdown files:
`Open Zesame` → `Alexander Cyon (github.com/sajjon)`. The `LICENSE`
file's mention of Open Zesame stays — it's the historical attribution
about Zhip's origin, which is factually correct.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
`project.yml` now sets `info.path: Generated.plist`, which makes
XcodeGen emit a fresh Info.plist next to the .xcodeproj on every
`just example-gen` run. Match the existing `.xcodeproj` rule and
gitignore the generated plist too.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.77%. Comparing base (9cda1ec) to head (6f1c4ac).

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage   87.77%   87.77%           
=======================================
  Files          30       30           
  Lines        1562     1562           
=======================================
  Hits         1371     1371           
  Misses        191      191           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Sajjon Sajjon merged commit 8c21616 into main May 6, 2026
3 checks passed
@Sajjon Sajjon deleted the fix_ios26_deprecations branch May 13, 2026 18:39
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