33f48edc11
The context menu never appeared because the extension wasn't registered at all: pluginkit didn't list it, and it says nothing about why. macOS only loads Finder Sync extensions that are sandboxed, and the target had App Sandbox off, so the appex was silently ignored. It now ships with its own entitlements — sandbox plus read-only access to the items picked in Finder, which is all it needs to read the selection and open a kotej:// URL. The containing app stays unsandboxed, since comparing arbitrary folders needs unrestricted file access. Verified: pluginkit lists it as enabled and the extension is loaded by Finder. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UfhDYRLTpGJSKGP1m3LVJN
76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
name: Kotej
|
|
options:
|
|
bundleIdPrefix: com.alexandrev
|
|
createIntermediateGroups: true
|
|
developmentLanguage: en
|
|
deploymentTarget:
|
|
macOS: "14.0"
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "5.9"
|
|
MARKETING_VERSION: "0.1.0"
|
|
CURRENT_PROJECT_VERSION: "1"
|
|
DEVELOPMENT_TEAM: "2825Q76T7H"
|
|
CODE_SIGN_STYLE: Automatic
|
|
packages:
|
|
Kotej:
|
|
path: .
|
|
targets:
|
|
Kotej:
|
|
type: application
|
|
platform: macOS
|
|
deploymentTarget: "14.0"
|
|
sources:
|
|
- App
|
|
- path: App/Assets.xcassets
|
|
buildPhase: resources
|
|
- path: Resources
|
|
buildPhase: resources
|
|
dependencies:
|
|
- package: Kotej
|
|
product: KotejEngine
|
|
- target: KotejFinder
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.alexandrev.kotej
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
|
ENABLE_APP_SANDBOX: NO
|
|
ENABLE_HARDENED_RUNTIME: YES
|
|
info:
|
|
path: App/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: Kotej
|
|
CFBundleShortVersionString: "$(MARKETING_VERSION)"
|
|
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
|
|
CFBundleDevelopmentRegion: en
|
|
CFBundleLocalizations: [en, es]
|
|
NSHumanReadableCopyright: "Kotej"
|
|
CFBundleURLTypes:
|
|
- CFBundleURLName: com.alexandrev.kotej
|
|
CFBundleURLSchemes: [kotej]
|
|
|
|
KotejFinder:
|
|
type: app-extension
|
|
platform: macOS
|
|
deploymentTarget: "14.0"
|
|
sources:
|
|
- path: FinderExtension
|
|
excludes: [Resources]
|
|
- path: FinderExtension/Resources
|
|
buildPhase: resources
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.alexandrev.kotej.finder
|
|
ENABLE_APP_SANDBOX: YES
|
|
ENABLE_HARDENED_RUNTIME: YES
|
|
CODE_SIGN_ENTITLEMENTS: FinderExtension/KotejFinder.entitlements
|
|
info:
|
|
path: FinderExtension/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: Kotej
|
|
CFBundleShortVersionString: "$(MARKETING_VERSION)"
|
|
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
|
|
NSExtension:
|
|
NSExtensionPointIdentifier: com.apple.FinderSync
|
|
NSExtensionPrincipalClass: KotejFinder.FinderMenu
|