1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-21 11:35:34 +01:00
bitwarden-browser/apps/desktop/macos
Andreas Coroiu 62112b99a9
[PM-9022] scaffold the extension and build pipeline (#9948)
* feat: add macos xcode project

* feat: add extension to mas build

* feat: use `after-sign` to avoid issues

Electron builder modifies the .plist in the extension which causes issues with the signing process. Copying and re-signing manually avoids this because it bypasses the electron builder for the extension

* feat: always clean build and add better error handling

* chore: add some logging to after-sign

* feat: automatically cleanup xcode build to avoid duplicate extensions

* docs: add information about managing extensions

* feat: add missing safari extension logging

* lint: allow macos filenames

* chore: add macos to platform ownership

* lint: add some additional allowed files

* feat: don't build autofill extension for MAS

* chore: ignore capital letters linting for all macos files

* chore: replace gulpfile with regular node script

* chore: add lint rules to script

* lint: fix remaining lint issues in script

* chore: tweak lint rule

* feat: remove desktop target

* fix: use new provisioning profile for dev extension

* Update to unblock CI builds

* chore: remove extension from masdev pack

This way we don't include the extension in any build and can avoid the signing issues it brings

* chore: add autofill as codeowner

* chore: remove xcuserdata

* chore: ignore xcuserdata

---------

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
Co-authored-by: Michał Chęciński <mchecinski@bitwarden.com>
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-13 15:54:35 +01:00
..
autofill-extension [PM-9022] scaffold the extension and build pipeline (#9948) 2024-11-13 15:54:35 +01:00
desktop.xcodeproj [PM-9022] scaffold the extension and build pipeline (#9948) 2024-11-13 15:54:35 +01:00
production.xcconfig [PM-9022] scaffold the extension and build pipeline (#9948) 2024-11-13 15:54:35 +01:00
README.md [PM-9022] scaffold the extension and build pipeline (#9948) 2024-11-13 15:54:35 +01:00

MacOS Extensions for Desktop Apps

This folder contains an Xcode project that builds macOS extensions for our desktop app. The extensions are used to provide additional functionality to the desktop app, such as autofill (password and passkeys).

Manage loaded extensions

macOS automatically loads extensions from apps, even if they have never been used (especially if built with Xcode). This can be confusing when you have multiple copies of the same application. To see where an extension is loaded from, use the following command:

# To list all extensions
pluginkit -m -v

# To list a specific extension
pluginkit -m -v -i com.bitwarden.desktop.autofill-extension

To unregister an extension, you can either remove it from your filesystem, or use the following command:

pluginkit -r <path to .appex>

where the path to the .appex file can be found in the output of the first command.