diff --git a/Vault/Sources/VaultiOS/Utilities/VaultItem+Transferable.swift b/Vault/Sources/VaultiOS/Utilities/VaultItem+Transferable.swift index 072dad2ac..a2d4e927c 100644 --- a/Vault/Sources/VaultiOS/Utilities/VaultItem+Transferable.swift +++ b/Vault/Sources/VaultiOS/Utilities/VaultItem+Transferable.swift @@ -66,5 +66,9 @@ extension Identifier: Transferable where T == VaultItem { } extension UTType { - static let vaultIdentifierItemType = UTType(exportedAs: "vault.identifier.drop.id") + /// importedAs, not exportedAs: this code is evaluated in every bundle + /// that links VaultiOS (main app AND the autofill extension), but only + /// the main app exports the type declaration. `exportedAs` raises a + /// runtime fault when the calling bundle does not declare the type. + static let vaultIdentifierItemType = UTType(importedAs: "vault.identifier.drop.id", conformingTo: .data) } diff --git a/VaultApp/VaultApp/Info.plist b/VaultApp/VaultApp/Info.plist index ea09a76a5..7489f3298 100644 --- a/VaultApp/VaultApp/Info.plist +++ b/VaultApp/VaultApp/Info.plist @@ -20,12 +20,12 @@ UTTypeConformsTo - + public.data + UTTypeDescription + Vault item drag identifier UTTypeIdentifier vault.identifier.drop.id - UTTypeTagSpecification - diff --git a/VaultApp/VaultAppAutofill/Info.plist b/VaultApp/VaultAppAutofill/Info.plist index cf3f801af..a9e4bf8ff 100644 --- a/VaultApp/VaultAppAutofill/Info.plist +++ b/VaultApp/VaultAppAutofill/Info.plist @@ -4,6 +4,19 @@ ITSAppUsesNonExemptEncryption + UTImportedTypeDeclarations + + + UTTypeConformsTo + + public.data + + UTTypeDescription + Vault item drag identifier + UTTypeIdentifier + vault.identifier.drop.id + + NSExtension NSExtensionAttributes