Skip to content

Declare the drag-identifier UTType correctly across bundles - #566

Merged
bradleymackey merged 1 commit into
mainfrom
fix/uttype-declarations
Sep 15, 2026
Merged

bradleymackey merged 1 commit into
mainfrom
fix/uttype-declarations

Conversation

@bradleymackey

Copy link
Copy Markdown
Member

Problem

UTType(exportedAs: "vault.identifier.drop.id") in VaultItem+Transferable.swift is evaluated in every bundle that links VaultiOS — including the autofill extension, whose code selector embeds VaultItemFeedView and therefore registers the .draggable/.dropDestination transfer types. exportedAs on an identifier the calling bundle does not declare is a programming error at runtime (fault log, undefined type resolution), and:

  • VaultAppAutofill/Info.plist declared nothing at all;
  • the main app's UTExportedTypeDeclarations entry was malformed — UTTypeConformsTo containing a single empty string and an empty UTTypeTagSpecification dict.

Fix

  • Code: UTType(importedAs: "vault.identifier.drop.id", conformingTo: .data) — correct for shared code evaluated in multiple bundles; never faults on an undeclared identifier. The identifier itself is unchanged, so drag payloads are unaffected.
  • Main app plist: repaired the export — conforms to public.data, added a description, dropped the empty tag-specification dict.
  • Autofill extension plist: added the matching UTImportedTypeDeclarations entry.

Verification

  • plutil -lint passes on both plists.
  • Full VaultApp scheme (app + both extensions) builds for the simulator.
  • App installed and launched on iPhone 18 Pro Max sim; feed renders (drag/drop types registered) with no UTType fault in the unified log.

⚠️ Automatic CI is still disabled (#548), so this is local verification only.

🤖 Generated with Claude Code

UTType(exportedAs:) faults when the calling bundle does not declare
the type, and the autofill extension links VaultiOS (its code selector
embeds the feed drag rows) with no declaration at all. Switch the
shared code to importedAs, repair the malformed export in the main
app Info.plist, and add the import declaration to the extension.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bradleymackey
bradleymackey merged commit d14127a into main Sep 15, 2026
@bradleymackey
bradleymackey deleted the fix/uttype-declarations branch September 15, 2026 05:52
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