From 54bb75956c4bf0f66236c1881789781ffd2e8e38 Mon Sep 17 00:00:00 2001 From: Rio Keefe Date: Sat, 3 May 2025 10:26:04 +0100 Subject: [PATCH] feat: app group + share extension --- .../apple/Haystack.xcodeproj/project.pbxproj | 280 +++++++++++++++++- .../Haystack/.ShareViewController.swift.swp | Bin 0 -> 12288 bytes .../Base.lproj/MainInterface.storyboard | 24 ++ .../src-tauri/gen/apple/Haystack/Info.plist | 18 ++ .../apple/Haystack/ShareViewController.swift | 30 ++ .../Haystack_iOS/Haystack_iOS.entitlements | 7 +- 6 files changed, 354 insertions(+), 5 deletions(-) create mode 100644 frontend/src-tauri/gen/apple/Haystack/.ShareViewController.swift.swp create mode 100644 frontend/src-tauri/gen/apple/Haystack/Base.lproj/MainInterface.storyboard create mode 100644 frontend/src-tauri/gen/apple/Haystack/Info.plist create mode 100644 frontend/src-tauri/gen/apple/Haystack/ShareViewController.swift diff --git a/frontend/src-tauri/gen/apple/Haystack.xcodeproj/project.pbxproj b/frontend/src-tauri/gen/apple/Haystack.xcodeproj/project.pbxproj index 8af92ef..bd921c2 100644 --- a/frontend/src-tauri/gen/apple/Haystack.xcodeproj/project.pbxproj +++ b/frontend/src-tauri/gen/apple/Haystack.xcodeproj/project.pbxproj @@ -3,11 +3,12 @@ archiveVersion = 1; classes = { }; - objectVersion = 63; + objectVersion = 70; objects = { /* Begin PBXBuildFile section */ 16C383BC47682E60119C08CB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21497598D6296AB30C0EBA84 /* UIKit.framework */; }; + 283EED902DC6170E00943E7E /* Haystack.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 283EED862DC6170E00943E7E /* Haystack.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 4CF1B89C17C5E734976BEFBE /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C6D4774DE6800DAE9E77C70 /* Metal.framework */; }; 6AAF6095EAF01A93F2CE8305 /* libapp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C62A99D37C1C342BB06981B /* libapp.a */; }; 7123EC8A6063C72E5DA3E659 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE76A4E4971EE0237680C836 /* QuartzCore.framework */; }; @@ -21,6 +22,30 @@ E41492640ABA177519E3F513 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2CE665AA7ABC7563C685FAA6 /* LaunchScreen.storyboard */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 283EED8E2DC6170E00943E7E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 193F5589816ED16BC8109D31 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 283EED852DC6170E00943E7E; + remoteInfo = Haystack; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 283EED912DC6170E00943E7E /* Embed Foundation Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + 283EED902DC6170E00943E7E /* Haystack.appex in Embed Foundation Extensions */, + ); + name = "Embed Foundation Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 0A480F5846CD211418A57C1C /* shortcut.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = shortcut.rs; sourceTree = ""; }; 0AF1829A934DE85E03752468 /* utils.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = utils.rs; sourceTree = ""; }; @@ -28,6 +53,7 @@ 1C223AE96283F8269EFE1D03 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 1ECBDB6420B28D950ADFD5BD /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 21497598D6296AB30C0EBA84 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 283EED862DC6170E00943E7E /* Haystack.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Haystack.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 2CE665AA7ABC7563C685FAA6 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; 3ADC946E8026E7A68FA70BFA /* main.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = main.rs; sourceTree = ""; }; 3B744E798409E96A0E89BC52 /* main.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = ""; }; @@ -43,11 +69,25 @@ A96F98DDB426B456946F1D11 /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; }; BE76A4E4971EE0237680C836 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; CD15C8A888D518BB414EB1DE /* screenshot.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = screenshot.rs; sourceTree = ""; }; - D4A71980828D15BC10ECF3D2 /* Haystack_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; name = Haystack_iOS.app; path = Haystack.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D4A71980828D15BC10ECF3D2 /* Haystack.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Haystack.app; sourceTree = BUILT_PRODUCTS_DIR; }; EBD929FA6D544E53CE3E43F0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; F2840E2A8444B5D60F2DCC9C /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 283EED942DC6170E00943E7E /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + Info.plist, + ); + target = 283EED852DC6170E00943E7E /* Haystack */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 283EED872DC6170E00943E7E /* Haystack */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (283EED942DC6170E00943E7E /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = Haystack; sourceTree = ""; }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ 26393DAD0BBD67E4F16745AC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -64,6 +104,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 283EED832DC6170E00943E7E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -118,7 +165,8 @@ 84D53E3A8587FE554E32F5F0 /* Products */ = { isa = PBXGroup; children = ( - D4A71980828D15BC10ECF3D2 /* Haystack_iOS.app */, + D4A71980828D15BC10ECF3D2 /* Haystack.app */, + 283EED862DC6170E00943E7E /* Haystack.appex */, ); name = Products; sourceTree = ""; @@ -141,6 +189,7 @@ 5D14D0B3A1E4F17999F21EC3 /* Haystack_iOS */, 99B42F02A0EEA086F70E7F36 /* Sources */, 3976EF9B359101EBE231CF77 /* src */, + 283EED872DC6170E00943E7E /* Haystack */, 5157718C625E46F07FAC4F7C /* Frameworks */, 84D53E3A8587FE554E32F5F0 /* Products */, ); @@ -165,6 +214,28 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 283EED852DC6170E00943E7E /* Haystack */ = { + isa = PBXNativeTarget; + buildConfigurationList = 283EED952DC6170E00943E7E /* Build configuration list for PBXNativeTarget "Haystack" */; + buildPhases = ( + 283EED822DC6170E00943E7E /* Sources */, + 283EED832DC6170E00943E7E /* Frameworks */, + 283EED842DC6170E00943E7E /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 283EED872DC6170E00943E7E /* Haystack */, + ); + name = Haystack; + packageProductDependencies = ( + ); + productName = Haystack; + productReference = 283EED862DC6170E00943E7E /* Haystack.appex */; + productType = "com.apple.product-type.app-extension"; + }; 28B448F5673D227E72859E56 /* Haystack_iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 58C375D27CA00AE30B18A640 /* Build configuration list for PBXNativeTarget "Haystack_iOS" */; @@ -173,16 +244,18 @@ 2B0A32A8DA58C48417D38579 /* Sources */, 2A76C4DB730794FBF1561ED7 /* Resources */, 26393DAD0BBD67E4F16745AC /* Frameworks */, + 283EED912DC6170E00943E7E /* Embed Foundation Extensions */, ); buildRules = ( ); dependencies = ( + 283EED8F2DC6170E00943E7E /* PBXTargetDependency */, ); name = Haystack_iOS; packageProductDependencies = ( ); productName = Haystack_iOS; - productReference = D4A71980828D15BC10ECF3D2 /* Haystack_iOS.app */; + productReference = D4A71980828D15BC10ECF3D2 /* Haystack.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -192,7 +265,13 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; + LastSwiftUpdateCheck = 1630; LastUpgradeCheck = 1430; + TargetAttributes = { + 283EED852DC6170E00943E7E = { + CreatedOnToolsVersion = 16.3; + }; + }; }; buildConfigurationList = C9EDF156AB15AE44726AF02B /* Build configuration list for PBXProject "Haystack" */; compatibilityVersion = "Xcode 14.0"; @@ -208,11 +287,19 @@ projectRoot = ""; targets = ( 28B448F5673D227E72859E56 /* Haystack_iOS */, + 283EED852DC6170E00943E7E /* Haystack */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 283EED842DC6170E00943E7E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 2A76C4DB730794FBF1561ED7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -250,6 +337,13 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 283EED822DC6170E00943E7E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 2B0A32A8DA58C48417D38579 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -260,6 +354,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 283EED8F2DC6170E00943E7E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 283EED852DC6170E00943E7E /* Haystack */; + targetProxy = 283EED8E2DC6170E00943E7E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ 17EFD3F6173E3547D2B12EE3 /* release */ = { isa = XCBuildConfiguration; @@ -269,6 +371,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Haystack_iOS/Haystack_iOS.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = RNK8266B74; ENABLE_BITCODE = NO; "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64; FRAMEWORK_SEARCH_PATHS = ( @@ -302,6 +405,165 @@ }; name = release; }; + 283EED922DC6170E00943E7E /* 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_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = RNK8266B74; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Haystack/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Haystack; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.haystack.app.Haystack; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = debug; + }; + 283EED932DC6170E00943E7E /* 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_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = RNK8266B74; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = Haystack/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Haystack; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 18.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.haystack.app.Haystack; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = release; + }; 4E8349933047E0253470E886 /* release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -429,6 +691,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = Haystack_iOS/Haystack_iOS.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; + DEVELOPMENT_TEAM = RNK8266B74; ENABLE_BITCODE = NO; "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64; FRAMEWORK_SEARCH_PATHS = ( @@ -465,6 +728,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 283EED952DC6170E00943E7E /* Build configuration list for PBXNativeTarget "Haystack" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 283EED922DC6170E00943E7E /* debug */, + 283EED932DC6170E00943E7E /* release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = debug; + }; 58C375D27CA00AE30B18A640 /* Build configuration list for PBXNativeTarget "Haystack_iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/frontend/src-tauri/gen/apple/Haystack/.ShareViewController.swift.swp b/frontend/src-tauri/gen/apple/Haystack/.ShareViewController.swift.swp new file mode 100644 index 0000000000000000000000000000000000000000..6cfc8ac8809d86960cde2614f9527f6e1abd5943 GIT binary patch literal 12288 zcmeI2v2Pqj6voH2ArK`Mh@j`BNFw=m&qgld0x391xfn-L&NfAqVs7`HcjUR5%gpRu zPAE_&3LORi07#Tj(L+gtgy?Dc2cQCpZ`XH;V_QO^KtjCLecqeBnR)O1=3QakH|Xy5 zw&{Ads&JiC>buV_R7($6)z7~w6^w75{_S+#s~i&_0j2i`M0-NfwR zt>uu#sTrn|LFI`M5CU@oXVp7vtKDXB`O-37IKL}ogn$qb0zyCt2mv7=1cZPP_#Y8S z<0bV8>V0Ki^V{?L(y{w|C^sP>1cZPP5CTF#2nYcoAOwVf5D)@F;6F$}mr6Z5qtu(P zB6FQzq#_hLTZUDpzLbY?S z?3Q*VY{(nrjJ~!pb*D6CpDh>ZE<&u(v@%6SQ`1Z_BV%>I+C@EW zD$mPpXf^d7f;^h|PGyixY$I_=dWb~YwROZBKts4lO~8z9`omAg*6Xr4yLMNXcCa&n zOzs2S>A!!BF&YA<@2a(fpLUQhRfRJ=adPvPOrhqZnIoHtwx*nS<3Grz?X6Q<%fz-l zT-s~)KWr=5-ffdwVRejjiZy-XNGEfcnBtgqy;*F~=pj+x7Y5e(`DnMdWngK~bG(Q) s1M7r?7|aNcd)i_iGU40SUCq1e`C4~vJzGp&*y-DKr(`rY%VXoe06qMdL;wH) literal 0 HcmV?d00001 diff --git a/frontend/src-tauri/gen/apple/Haystack/Base.lproj/MainInterface.storyboard b/frontend/src-tauri/gen/apple/Haystack/Base.lproj/MainInterface.storyboard new file mode 100644 index 0000000..286a508 --- /dev/null +++ b/frontend/src-tauri/gen/apple/Haystack/Base.lproj/MainInterface.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src-tauri/gen/apple/Haystack/Info.plist b/frontend/src-tauri/gen/apple/Haystack/Info.plist new file mode 100644 index 0000000..4b1f7e7 --- /dev/null +++ b/frontend/src-tauri/gen/apple/Haystack/Info.plist @@ -0,0 +1,18 @@ + + + + + NSExtension + + NSExtensionAttributes + + NSExtensionActivationRule + TRUEPREDICATE + + NSExtensionMainStoryboard + MainInterface + NSExtensionPointIdentifier + com.apple.share-services + + + diff --git a/frontend/src-tauri/gen/apple/Haystack/ShareViewController.swift b/frontend/src-tauri/gen/apple/Haystack/ShareViewController.swift new file mode 100644 index 0000000..dc8a410 --- /dev/null +++ b/frontend/src-tauri/gen/apple/Haystack/ShareViewController.swift @@ -0,0 +1,30 @@ +// +// ShareViewController.swift +// Haystack +// +// Created by Rio Keefe on 03/05/2025. +// + +import UIKit +import Social + +class ShareViewController: SLComposeServiceViewController { + + override func isContentValid() -> Bool { + // Do validation of contentText and/or NSExtensionContext attachments here + return true + } + + override func didSelectPost() { + // This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments. + + // Inform the host that we're done, so it un-blocks its UI. Note: Alternatively you could call super's -didSelectPost, which will similarly complete the extension context. + self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil) + } + + override func configurationItems() -> [Any]! { + // To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here. + return [] + } + +} diff --git a/frontend/src-tauri/gen/apple/Haystack_iOS/Haystack_iOS.entitlements b/frontend/src-tauri/gen/apple/Haystack_iOS/Haystack_iOS.entitlements index 0c67376..847b16e 100644 --- a/frontend/src-tauri/gen/apple/Haystack_iOS/Haystack_iOS.entitlements +++ b/frontend/src-tauri/gen/apple/Haystack_iOS/Haystack_iOS.entitlements @@ -1,5 +1,10 @@ - + + com.apple.security.application-groups + + group.com.haystack.app + +