diff --git a/IntentsExtension/Info.plist b/IntentsExtension/Info.plist
new file mode 100644
index 000000000..ee646a161
--- /dev/null
+++ b/IntentsExtension/Info.plist
@@ -0,0 +1,20 @@
+
+
+
+
+ NSExtension
+
+ NSExtensionAttributes
+
+ IntentsRestrictedWhileLocked
+
+ IntentsSupported
+
+
+ NSExtensionPointIdentifier
+ com.apple.intents-service
+ NSExtensionPrincipalClass
+ $(PRODUCT_MODULE_NAME).IntentHandler
+
+
+
diff --git a/IntentsExtension/IntentHandler.swift b/IntentsExtension/IntentHandler.swift
new file mode 100644
index 000000000..a23d6509c
--- /dev/null
+++ b/IntentsExtension/IntentHandler.swift
@@ -0,0 +1,20 @@
+//
+// IntentHandler.swift
+// IntentsExtension
+//
+// Created by Charlie Scheer on 5/23/24.
+// Copyright © 2024 Simperium. All rights reserved.
+//
+
+import Intents
+
+class IntentHandler: INExtension {
+
+ override func handler(for intent: INIntent) -> Any {
+ // This is the default implementation. If you want different objects to handle different intents,
+ // you can override this and return the handler you want for that particular intent.
+
+ return self
+ }
+
+}
diff --git a/IntentsExtension/IntentsExtension.entitlements b/IntentsExtension/IntentsExtension.entitlements
new file mode 100644
index 000000000..cb817ac5e
--- /dev/null
+++ b/IntentsExtension/IntentsExtension.entitlements
@@ -0,0 +1,16 @@
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.application-groups
+
+ $(TeamIdentifierPrefix)com.automattic.SimplenoteMac
+
+ keychain-access-groups
+
+ $(AppIdentifierPrefix)com.automattic.SimplenoteMac
+
+
+
diff --git a/IntentsExtension/IntentsExtensionDebug.entitlements b/IntentsExtension/IntentsExtensionDebug.entitlements
new file mode 100644
index 000000000..0b8d9cd0d
--- /dev/null
+++ b/IntentsExtension/IntentsExtensionDebug.entitlements
@@ -0,0 +1,16 @@
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.application-groups
+
+ $(TeamIdentifierPrefix)com.automattic.SimplenoteMac.Development
+
+ keychain-access-groups
+
+ $(AppIdentifierPrefix)com.automattic.SimplenoteMac.Development
+
+
+
diff --git a/Simplenote.entitlements b/Simplenote.entitlements
index 637aa6f19..e0cb4bdea 100644
--- a/Simplenote.entitlements
+++ b/Simplenote.entitlements
@@ -4,11 +4,19 @@
com.apple.security.app-sandbox
+ com.apple.security.application-groups
+
+ $(TeamIdentifierPrefix)com.automattic.SimplenoteMac
+
com.apple.security.files.user-selected.read-write
com.apple.security.network.client
com.apple.security.print
+ keychain-access-groups
+
+ $(AppIdentifierPrefix)$(CFBundleIdentifier)
+
diff --git a/Simplenote.xcodeproj/project.pbxproj b/Simplenote.xcodeproj/project.pbxproj
index 99f7712a3..2d03dbb15 100644
--- a/Simplenote.xcodeproj/project.pbxproj
+++ b/Simplenote.xcodeproj/project.pbxproj
@@ -264,6 +264,11 @@
BAA0A88B26BA39150006260E /* Date+Simplenote.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA0A88626B9F8B40006260E /* Date+Simplenote.swift */; };
BAA0A88F26BA39200006260E /* AccountDeletionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA0A88126B9F8970006260E /* AccountDeletionController.swift */; };
BAA0A89326BA39260006260E /* RemoteError.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA0A87926B9F0B50006260E /* RemoteError.swift */; };
+ BAB261632BFFD0AF009A98D7 /* Intents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BA8CF21B2BFD20770087F33D /* Intents.framework */; };
+ BAB261662BFFD0AF009A98D7 /* IntentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB261652BFFD0AF009A98D7 /* IntentHandler.swift */; };
+ BAB2616B2BFFD0AF009A98D7 /* IntentsExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = BAB261622BFFD0AF009A98D7 /* IntentsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ BAB261712BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = BAB261702BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition */; };
+ BAB261722BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = BAB261702BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition */; };
BAD4ECC026E6FC0A00881CC4 /* markdown-light.css in Resources */ = {isa = PBXBuildFile; fileRef = BAF8D5DB26AE3BE800CA9383 /* markdown-light.css */; };
BAE66CAA26AF647500398FF3 /* Remote.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA938CEB26ACFF4A00BE5A1D /* Remote.swift */; };
BAF1B0C32BC9B1C500B55F73 /* NoteWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAF1B0C12BC9B1C500B55F73 /* NoteWindow.swift */; };
@@ -281,6 +286,13 @@
remoteGlobalIDString = B52D0EC5230DCAD7003F799D;
remoteInfo = GenerateCredentials;
};
+ BAB261692BFFD0AF009A98D7 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 26F72A7F14032D2900A7935E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = BAB261612BFFD0AF009A98D7;
+ remoteInfo = IntentsExtension;
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -295,6 +307,17 @@
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
+ BAB2616C2BFFD0AF009A98D7 /* Embed Foundation Extensions */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 13;
+ files = (
+ BAB2616B2BFFD0AF009A98D7 /* IntentsExtension.appex in Embed Foundation Extensions */,
+ );
+ name = "Embed Foundation Extensions";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
@@ -626,6 +649,8 @@
BA0B43C826F2FCFC00B44A8C /* PreferencesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesViewController.swift; sourceTree = ""; };
BA0B43D426F2FEA200B44A8C /* Preferences.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Preferences.storyboard; sourceTree = ""; };
BA2C65CA26FE996100FA84E1 /* NSButton+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSButton+Extensions.swift"; sourceTree = ""; };
+ BA39C4542C0133F30004B2A9 /* SimplenoteDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SimplenoteDebug.entitlements; sourceTree = ""; };
+ BA39C4552C0134180004B2A9 /* IntentsExtensionDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = IntentsExtensionDebug.entitlements; sourceTree = ""; };
BA4C6D15264CA8C000B723A7 /* SignupRemoteTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignupRemoteTests.swift; sourceTree = ""; };
BA4C6D17264CAAF800B723A7 /* URLRequest+Simplenote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URLRequest+Simplenote.swift"; sourceTree = ""; };
BA52005A2BC878F1003F1B75 /* CSSearchable+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CSSearchable+Helpers.swift"; sourceTree = ""; };
@@ -639,6 +664,11 @@
BAA0A88126B9F8970006260E /* AccountDeletionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountDeletionController.swift; sourceTree = ""; };
BAA0A88626B9F8B40006260E /* Date+Simplenote.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Date+Simplenote.swift"; sourceTree = ""; };
BAA4854925D5E22000F3BDB9 /* SearchQuery+Simplenote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SearchQuery+Simplenote.swift"; sourceTree = ""; };
+ BAB261622BFFD0AF009A98D7 /* IntentsExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = IntentsExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
+ BAB261652BFFD0AF009A98D7 /* IntentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntentHandler.swift; sourceTree = ""; };
+ BAB261672BFFD0AF009A98D7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ BAB261682BFFD0AF009A98D7 /* IntentsExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = IntentsExtension.entitlements; sourceTree = ""; };
+ BAB261702BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; path = ShortcutIntents.intentdefinition; sourceTree = ""; };
BAF1B0C12BC9B1C500B55F73 /* NoteWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteWindow.swift; sourceTree = ""; };
BAF1B0C72BCDDA9600B55F73 /* NoteWindowControllersManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteWindowControllersManager.swift; sourceTree = ""; };
BAF8D5DB26AE3BE800CA9383 /* markdown-light.css */ = {isa = PBXFileReference; lastKnownFileType = text.css; path = "markdown-light.css"; sourceTree = ""; };
@@ -673,6 +703,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ BAB2615F2BFFD0AF009A98D7 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BAB261632BFFD0AF009A98D7 /* Intents.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -693,6 +731,7 @@
26F72A9214032D2A00A7935E /* Simplenote */,
B5CBB06A241976230003C271 /* SimplenoteTests */,
26DBB1F61405A6E600186392 /* External */,
+ BAB261642BFFD0AF009A98D7 /* IntentsExtension */,
26F72A8914032D2A00A7935E /* Products */,
26F72A8B14032D2A00A7935E /* Frameworks */,
8343BE2DC268495E77AD67DF /* Pods */,
@@ -706,6 +745,7 @@
children = (
466FFF2F17CC10A800399652 /* Simplenote.app */,
B5CBB069241976230003C271 /* SimplenoteTests.xctest */,
+ BAB261622BFFD0AF009A98D7 /* IntentsExtension.appex */,
);
name = Products;
sourceTree = "";
@@ -733,6 +773,7 @@
26F72A9214032D2A00A7935E /* Simplenote */ = {
isa = PBXGroup;
children = (
+ BA39C4542C0133F30004B2A9 /* SimplenoteDebug.entitlements */,
463774DC171F114900E2E333 /* Categories */,
B501AAD22437E52D0084CDA3 /* Constants */,
B53BF1A224AC388F00938C34 /* Controllers */,
@@ -781,6 +822,7 @@
26F72A9814032D2A00A7935E /* main.m */,
26F72A9A14032D2A00A7935E /* Simplenote-Prefix.pch */,
26F72A9B14032D2A00A7935E /* Credits.rtf */,
+ BAB261702BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition */,
);
name = "Supporting Files";
sourceTree = "";
@@ -1446,6 +1488,17 @@
name = "Recovered References";
sourceTree = "";
};
+ BAB261642BFFD0AF009A98D7 /* IntentsExtension */ = {
+ isa = PBXGroup;
+ children = (
+ BA39C4552C0134180004B2A9 /* IntentsExtensionDebug.entitlements */,
+ BAB261652BFFD0AF009A98D7 /* IntentHandler.swift */,
+ BAB261672BFFD0AF009A98D7 /* Info.plist */,
+ BAB261682BFFD0AF009A98D7 /* IntentsExtension.entitlements */,
+ );
+ path = IntentsExtension;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -1459,11 +1512,13 @@
466FFEE517CC10A800399652 /* Resources */,
4E51756AEE6CFE89EAD49829 /* [CP] Embed Pods Frameworks */,
24CB911D2B75601F00C9490F /* Embed Frameworks */,
+ BAB2616C2BFFD0AF009A98D7 /* Embed Foundation Extensions */,
);
buildRules = (
);
dependencies = (
B52D0ECF230DCEAC003F799D /* PBXTargetDependency */,
+ BAB2616A2BFFD0AF009A98D7 /* PBXTargetDependency */,
);
name = Simplenote;
packageProductDependencies = (
@@ -1495,6 +1550,23 @@
productReference = B5CBB069241976230003C271 /* SimplenoteTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
+ BAB261612BFFD0AF009A98D7 /* IntentsExtension */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = BAB2616F2BFFD0AF009A98D7 /* Build configuration list for PBXNativeTarget "IntentsExtension" */;
+ buildPhases = (
+ BAB2615E2BFFD0AF009A98D7 /* Sources */,
+ BAB2615F2BFFD0AF009A98D7 /* Frameworks */,
+ BAB261602BFFD0AF009A98D7 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = IntentsExtension;
+ productName = IntentsExtension;
+ productReference = BAB261622BFFD0AF009A98D7 /* IntentsExtension.appex */;
+ productType = "com.apple.product-type.app-extension";
+ };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -1502,7 +1574,7 @@
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
- LastSwiftUpdateCheck = 1530;
+ LastSwiftUpdateCheck = 1540;
LastUpgradeCheck = 1530;
ORGANIZATIONNAME = Simperium;
TargetAttributes = {
@@ -1519,6 +1591,9 @@
ProvisioningStyle = Manual;
TestTargetID = 26F72A8714032D2A00A7935E;
};
+ BAB261612BFFD0AF009A98D7 = {
+ CreatedOnToolsVersion = 15.4;
+ };
};
};
buildConfigurationList = 26F72A8214032D2900A7935E /* Build configuration list for PBXProject "Simplenote" */;
@@ -1562,6 +1637,7 @@
466FFEA617CC10A800399652 /* Simplenote */,
B52D0EC5230DCAD7003F799D /* SimplenoteSecrets */,
B5CBB068241976230003C271 /* SimplenoteTests */,
+ BAB261612BFFD0AF009A98D7 /* IntentsExtension */,
);
};
/* End PBXProject section */
@@ -1603,6 +1679,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ BAB261602BFFD0AF009A98D7 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
@@ -1748,6 +1831,7 @@
B5919365245A7AD300A70C0C /* NSScreen+Simplenote.swift in Sources */,
B5C620AC257ED4CF008359A9 /* NSAnimationContext+Simplenote.swift in Sources */,
3F07D7B225DD1CDD00D680D0 /* SearchQuery+Simplenote.swift in Sources */,
+ BAB261712BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition in Sources */,
466FFEAC17CC10A800399652 /* Simplenote.xcdatamodeld in Sources */,
B5009938242130F70037A431 /* UnicodeScalar+Simplenote.swift in Sources */,
BAF1B0C92BCEDFD400B55F73 /* NoteWindowControllersManager.swift in Sources */,
@@ -1935,6 +2019,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ BAB2615E2BFFD0AF009A98D7 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BAB261722BFFD0F4009A98D7 /* ShortcutIntents.intentdefinition in Sources */,
+ BAB261662BFFD0AF009A98D7 /* IntentHandler.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@@ -1943,6 +2036,11 @@
target = B52D0EC5230DCAD7003F799D /* SimplenoteSecrets */;
targetProxy = B52D0ECE230DCEAC003F799D /* PBXContainerItemProxy */;
};
+ BAB2616A2BFFD0AF009A98D7 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = BAB261612BFFD0AF009A98D7 /* IntentsExtension */;
+ targetProxy = BAB261692BFFD0AF009A98D7 /* PBXContainerItemProxy */;
+ };
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -2135,10 +2233,11 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 07BC80F83FE6EE9EED13F79B /* Pods-Automattic-Simplenote.debug.xcconfig */;
buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-Beta";
CLANG_ENABLE_MODULES = YES;
- CODE_SIGN_ENTITLEMENTS = Simplenote.entitlements;
+ CODE_SIGN_ENTITLEMENTS = Simplenote/SimplenoteDebug.entitlements;
CODE_SIGN_IDENTITY = "Mac Developer";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
CODE_SIGN_STYLE = Manual;
@@ -2174,11 +2273,11 @@
"${inherited}",
"-lc++",
);
- PRODUCT_BUNDLE_IDENTIFIER = com.automattic.SimplenoteMac.debug;
+ PRODUCT_BUNDLE_IDENTIFIER = com.automattic.SimplenoteMac.Development;
PRODUCT_NAME = Simplenote;
PROVISIONING_PROFILE = "";
PROVISIONING_PROFILE_SPECIFIER = "";
- "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "Simplenote Mac - Development";
SDKROOT = macosx;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -2190,6 +2289,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 39ACEAE8218A03C6C22DC662 /* Pods-Automattic-Simplenote.release.xcconfig */;
buildSettings = {
+ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
@@ -2346,6 +2446,115 @@
};
name = Release;
};
+ BAB2616D2BFFD0AF009A98D7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CODE_SIGN_ENTITLEMENTS = IntentsExtension/IntentsExtensionDebug.entitlements;
+ CODE_SIGN_IDENTITY = "Mac Developer";
+ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
+ CODE_SIGN_STYLE = Manual;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ DEVELOPMENT_TEAM = "";
+ "DEVELOPMENT_TEAM[sdk=macosx*]" = PZYM8XX95Q;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = IntentsExtension/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = IntentsExtension;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Simperium. All rights reserved.";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/../Frameworks",
+ "@executable_path/../../../../Frameworks",
+ );
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 14.4;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.automattic.SimplenoteMac.Development.IntentsExtension;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "Simplenote Mac Intents Extension - Development";
+ SKIP_INSTALL = YES;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_OBJC_BRIDGING_HEADER = "";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_PRECOMPILE_BRIDGING_HEADER = NO;
+ SWIFT_VERSION = 5.0;
+ };
+ name = Debug;
+ };
+ BAB2616E2BFFD0AF009A98D7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CODE_SIGN_ENTITLEMENTS = IntentsExtension/IntentsExtension.entitlements;
+ CODE_SIGN_IDENTITY = "Apple Distribution";
+ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
+ CODE_SIGN_STYLE = Manual;
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = "";
+ "DEVELOPMENT_TEAM[sdk=macosx*]" = PZYM8XX95Q;
+ ENABLE_HARDENED_RUNTIME = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu17;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = IntentsExtension/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = IntentsExtension;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2024 Simperium. All rights reserved.";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/../Frameworks",
+ "@executable_path/../../../../Frameworks",
+ );
+ LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+ MACOSX_DEPLOYMENT_TARGET = 14.4;
+ MARKETING_VERSION = 1.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.automattic.SimplenoteMac.IntentsExtension;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "Simplenote Mac Development Intents";
+ SKIP_INSTALL = YES;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ SWIFT_OBJC_BRIDGING_HEADER = "";
+ SWIFT_PRECOMPILE_BRIDGING_HEADER = NO;
+ SWIFT_VERSION = 5.0;
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -2385,6 +2594,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ BAB2616F2BFFD0AF009A98D7 /* Build configuration list for PBXNativeTarget "IntentsExtension" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ BAB2616D2BFFD0AF009A98D7 /* Debug */,
+ BAB2616E2BFFD0AF009A98D7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
diff --git a/Simplenote/ShortcutIntents.intentdefinition b/Simplenote/ShortcutIntents.intentdefinition
new file mode 100644
index 000000000..86b3c628c
--- /dev/null
+++ b/Simplenote/ShortcutIntents.intentdefinition
@@ -0,0 +1,12 @@
+
+
+
+
+ INIntents
+
+
+ INEnums
+
+
+
+
diff --git a/Simplenote/Simplenote-Info.plist b/Simplenote/Simplenote-Info.plist
index 1042e2731..f64a601b6 100644
--- a/Simplenote/Simplenote-Info.plist
+++ b/Simplenote/Simplenote-Info.plist
@@ -37,6 +37,8 @@
CFBundleVersion
$BUILD_NUMBER
+ ITSAppUsesNonExemptEncryption
+
LSApplicationCategoryType
public.app-category.productivity
LSMinimumSystemVersion
@@ -52,7 +54,5 @@
MainMenu
NSPrincipalClass
SPApplication
- ITSAppUsesNonExemptEncryption
-
diff --git a/Simplenote/SimplenoteDebug.entitlements b/Simplenote/SimplenoteDebug.entitlements
new file mode 100644
index 000000000..66b8b4480
--- /dev/null
+++ b/Simplenote/SimplenoteDebug.entitlements
@@ -0,0 +1,22 @@
+
+
+
+
+ com.apple.security.app-sandbox
+
+ com.apple.security.application-groups
+
+ $(TeamIdentifierPrefix)com.automattic.SimplenoteMac.Development
+
+ com.apple.security.files.user-selected.read-write
+
+ com.apple.security.network.client
+
+ com.apple.security.print
+
+ keychain-access-groups
+
+ $(AppIdentifierPrefix)$(CFBundleIdentifier)
+
+
+