diff --git a/apple/Config.xcconfig b/apple/Config.xcconfig index b3d8940..4e241f2 100644 --- a/apple/Config.xcconfig +++ b/apple/Config.xcconfig @@ -8,8 +8,8 @@ // 2. Run the Archive process in XCODE // ... Someday use https://fastlane.tools to automate things // -CURRENT_PROJECT_VERSION = 17 -MARKETING_VERSION = 0.11.0 +CURRENT_PROJECT_VERSION = 18 +MARKETING_VERSION = 0.12.0 // // Configuration settings file format documentation can be found at: // https://help.apple.com/xcode/#/dev745c5c974 diff --git a/apple/Convus.xcodeproj/project.pbxproj b/apple/Convus.xcodeproj/project.pbxproj index 04d8312..7f316ac 100644 --- a/apple/Convus.xcodeproj/project.pbxproj +++ b/apple/Convus.xcodeproj/project.pbxproj @@ -43,6 +43,9 @@ 5D8F014329B574AD003A1EE5 /* index.html in Resources */ = {isa = PBXBuildFile; fileRef = 5D8F013929B574AD003A1EE5 /* index.html */; }; 5D8F014429B574AD003A1EE5 /* images in Resources */ = {isa = PBXBuildFile; fileRef = 5D8F013A29B574AD003A1EE5 /* images */; }; 5D8F014629B574AD003A1EE5 /* manifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 5D8F013C29B574AD003A1EE5 /* manifest.json */; }; + 5DDDA6952AAD15AB0022B305 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DDDA6942AAD15AB0022B305 /* ShareViewController.swift */; }; + 5DDDA6982AAD15AB0022B305 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5DDDA6962AAD15AB0022B305 /* MainInterface.storyboard */; }; + 5DDDA69C2AAD15AB0022B305 /* Share to Convus.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 5DDDA6922AAD15AB0022B305 /* Share to Convus.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -60,6 +63,13 @@ remoteGlobalIDString = 5D8F011129B574AD003A1EE5; remoteInfo = "Convus Extension (macOS)"; }; + 5DDDA69A2AAD15AB0022B305 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5D8F00D629B574AC003A1EE5 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5DDDA6912AAD15AB0022B305; + remoteInfo = "Share to Convus"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -70,6 +80,7 @@ dstSubfolderSpec = 13; files = ( 5D8F010929B574AD003A1EE5 /* Convus Extension.appex in Embed Foundation Extensions */, + 5DDDA69C2AAD15AB0022B305 /* Share to Convus.appex in Embed Foundation Extensions */, ); name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; @@ -117,6 +128,10 @@ 5D8F013929B574AD003A1EE5 /* index.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = index.html; path = ../../dist/index.html; sourceTree = ""; }; 5D8F013A29B574AD003A1EE5 /* images */ = {isa = PBXFileReference; lastKnownFileType = folder; name = images; path = ../../dist/images; sourceTree = ""; }; 5D8F013C29B574AD003A1EE5 /* manifest.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = manifest.json; path = ../../dist/manifest.json; sourceTree = ""; }; + 5DDDA6922AAD15AB0022B305 /* Share to Convus.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Share to Convus.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5DDDA6942AAD15AB0022B305 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; }; + 5DDDA6972AAD15AB0022B305 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; + 5DDDA6992AAD15AB0022B305 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -148,6 +163,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5DDDA68F2AAD15AB0022B305 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -161,6 +183,7 @@ 5D8F00FC29B574AD003A1EE5 /* macOS (App) */, 5D8F010C29B574AD003A1EE5 /* iOS (Extension) */, 5D8F011629B574AD003A1EE5 /* macOS (Extension) */, + 5DDDA6932AAD15AB0022B305 /* Share to Convus */, 5D8F00EA29B574AD003A1EE5 /* Products */, ); indentWidth = 2; @@ -204,6 +227,7 @@ 5D8F00FB29B574AD003A1EE5 /* Convus.app */, 5D8F010829B574AD003A1EE5 /* Convus Extension.appex */, 5D8F011229B574AD003A1EE5 /* Convus Extension.appex */, + 5DDDA6922AAD15AB0022B305 /* Share to Convus.appex */, ); name = Products; sourceTree = ""; @@ -261,6 +285,16 @@ path = "Shared (Extension)"; sourceTree = SOURCE_ROOT; }; + 5DDDA6932AAD15AB0022B305 /* Share to Convus */ = { + isa = PBXGroup; + children = ( + 5DDDA6942AAD15AB0022B305 /* ShareViewController.swift */, + 5DDDA6962AAD15AB0022B305 /* MainInterface.storyboard */, + 5DDDA6992AAD15AB0022B305 /* Info.plist */, + ); + path = "Share to Convus"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -277,6 +311,7 @@ ); dependencies = ( 5D8F010B29B574AD003A1EE5 /* PBXTargetDependency */, + 5DDDA69B2AAD15AB0022B305 /* PBXTargetDependency */, ); name = "Convus (iOS)"; productName = "Convus (iOS)"; @@ -336,6 +371,23 @@ productReference = 5D8F011229B574AD003A1EE5 /* Convus Extension.appex */; productType = "com.apple.product-type.app-extension"; }; + 5DDDA6912AAD15AB0022B305 /* Share to Convus */ = { + isa = PBXNativeTarget; + buildConfigurationList = 5DDDA69F2AAD15AB0022B305 /* Build configuration list for PBXNativeTarget "Share to Convus" */; + buildPhases = ( + 5DDDA68E2AAD15AB0022B305 /* Sources */, + 5DDDA68F2AAD15AB0022B305 /* Frameworks */, + 5DDDA6902AAD15AB0022B305 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Share to Convus"; + productName = "Share to Convus"; + productReference = 5DDDA6922AAD15AB0022B305 /* Share to Convus.appex */; + productType = "com.apple.product-type.app-extension"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -343,7 +395,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1420; + LastSwiftUpdateCheck = 1430; LastUpgradeCheck = 1430; TargetAttributes = { 5D8F00E829B574AD003A1EE5 = { @@ -358,6 +410,9 @@ 5D8F011129B574AD003A1EE5 = { CreatedOnToolsVersion = 14.2; }; + 5DDDA6912AAD15AB0022B305 = { + CreatedOnToolsVersion = 14.3.1; + }; }; }; buildConfigurationList = 5D8F00D929B574AC003A1EE5 /* Build configuration list for PBXProject "Convus" */; @@ -377,6 +432,7 @@ 5D8F00FA29B574AD003A1EE5 /* Convus (macOS) */, 5D8F010729B574AD003A1EE5 /* Convus Extension (iOS) */, 5D8F011129B574AD003A1EE5 /* Convus Extension (macOS) */, + 5DDDA6912AAD15AB0022B305 /* Share to Convus */, ); }; /* End PBXProject section */ @@ -437,6 +493,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5DDDA6902AAD15AB0022B305 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5DDDA6982AAD15AB0022B305 /* MainInterface.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -475,6 +539,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 5DDDA68E2AAD15AB0022B305 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5DDDA6952AAD15AB0022B305 /* ShareViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -488,6 +560,11 @@ target = 5D8F011129B574AD003A1EE5 /* Convus Extension (macOS) */; targetProxy = 5D8F011429B574AD003A1EE5 /* PBXContainerItemProxy */; }; + 5DDDA69B2AAD15AB0022B305 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 5DDDA6912AAD15AB0022B305 /* Share to Convus */; + targetProxy = 5DDDA69A2AAD15AB0022B305 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -523,6 +600,14 @@ name = Main.storyboard; sourceTree = ""; }; + 5DDDA6962AAD15AB0022B305 /* MainInterface.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 5DDDA6972AAD15AB0022B305 /* Base */, + ); + name = MainInterface.storyboard; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -927,6 +1012,61 @@ }; name = Release; }; + 5DDDA69D2AAD15AB0022B305 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = SY2AZUHP42; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "Share to Convus/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "Share to Convus"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "org.convus.Share-to-Convus"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 5DDDA69E2AAD15AB0022B305 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = SY2AZUHP42; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "Share to Convus/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "Share to Convus"; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "org.convus.Share-to-Convus"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -975,6 +1115,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 5DDDA69F2AAD15AB0022B305 /* Build configuration list for PBXNativeTarget "Share to Convus" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 5DDDA69D2AAD15AB0022B305 /* Debug */, + 5DDDA69E2AAD15AB0022B305 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 5D8F00D629B574AC003A1EE5 /* Project object */; diff --git a/apple/Share to Convus/Base.lproj/MainInterface.storyboard b/apple/Share to Convus/Base.lproj/MainInterface.storyboard new file mode 100644 index 0000000..286a508 --- /dev/null +++ b/apple/Share to Convus/Base.lproj/MainInterface.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apple/Share to Convus/Info.plist b/apple/Share to Convus/Info.plist new file mode 100644 index 0000000..4b1f7e7 --- /dev/null +++ b/apple/Share to Convus/Info.plist @@ -0,0 +1,18 @@ + + + + + NSExtension + + NSExtensionAttributes + + NSExtensionActivationRule + TRUEPREDICATE + + NSExtensionMainStoryboard + MainInterface + NSExtensionPointIdentifier + com.apple.share-services + + + diff --git a/apple/Share to Convus/ShareViewController.swift b/apple/Share to Convus/ShareViewController.swift new file mode 100644 index 0000000..de2ddac --- /dev/null +++ b/apple/Share to Convus/ShareViewController.swift @@ -0,0 +1,30 @@ +// +// ShareViewController.swift +// Share to Convus +// +// Created by Seth Herr on 9/9/23. +// + +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/dist/index.html b/dist/index.html index e4f466c..df19925 100644 --- a/dist/index.html +++ b/dist/index.html @@ -51,7 +51,7 @@

Log in

Sign up