Replace the Xcode boilerplate in AutoFill/CredentialProviderViewController.swift
with real logic: prepareCredentialList(for:) builds ExtensionRootView (added in
Task 19) inside a UIHostingController, provideCredentialWithoutUserInteraction(for:)
silently unlocks via the shared Keychain token and completes/cancels the request.
Strip the storyboard's now-unused static nav-bar/button/actions, keeping the same
customClass so the system still instantiates this exact class.
Also add AutoFill target membership for MyPass/Services/FileBookmarkService.swift
and BiometricAuthService.swift (app-target files, referenced directly by the
extension per the plan) via explicit PBXFileReference/PBXBuildFile entries, since
Xcode's synchronized-group file system only auto-includes them in the MyPass
target by default.
Expected build state: exactly one error, "cannot find 'ExtensionRootView' in
scope" (reported once per simulator architecture), until Task 19 adds that type.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WYqycDFsynHH9VnnK7LNSf
Adds App Groups + Keychain Sharing entitlements to the AutoFill
target (matching the main app's group.org.antiloop222.mypass /
org.antiloop222.mypass), sets REGISTER_APP_GROUPS so automatic
signing registers the capability, and links MyPassCore as a
framework dependency by reusing the existing local package product
reference. Verified with `xcodebuild -scheme AutoFill build` for the
iOS Simulator: the AutoFill.appex target builds, signs, and embeds
cleanly (the only build failure is the pre-existing, expected
ContentView.swift/Item SwiftData breakage in the MyPass app target,
unrelated to this change).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WYqycDFsynHH9VnnK7LNSf
Also drops the stray empty AutoFillExtension/ directory left over from
an earlier abandoned attempt at creating this target, and cleans up
duplicate/stale scheme entries in xcschememanagement.plist.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WYqycDFsynHH9VnnK7LNSf