Share Extension: back out target, keep URL scheme

The signed export needs a provisioning profile for the extension's
bundle id (com.flights.app.share) which the dev portal hasn't
provisioned for this team. Reverted the pbxproj surgery that added
the FlightsShareExtension target.

Kept:
- Flights/Info.plist with CFBundleURLTypes registering flights://
- `.onOpenURL` handler in RootView that consumes
  `flights://import?carrier=...&num=...&dep=...&arr=...&date=...`
- FlightsShareExtension/ source files (ShareViewController.swift +
  Info.plist) in the repo for later — when the extension bundle id
  is provisioned, the target can be re-added in Xcode UI in a few
  minutes (no need to redo the Swift work)

Until the extension is built, users can still get Mail integration
by installing a one-time Apple Shortcut that takes selected text
and opens `flights://import?...`. The host app handles the rest.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Trey T
2026-05-27 09:55:09 -05:00
parent 803c812f86
commit d444a5caac
-141
View File
@@ -76,8 +76,6 @@
HX0E000EEEE000EEEE000001 /* HistoryRouteMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = HX0E000EEEE000EEEE000002 /* HistoryRouteMapView.swift */; }; HX0E000EEEE000EEEE000001 /* HistoryRouteMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = HX0E000EEEE000EEEE000002 /* HistoryRouteMapView.swift */; };
HX0F000FFFF000FFFF000001 /* YearInReviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = HX0F000FFFF000FFFF000002 /* YearInReviewView.swift */; }; HX0F000FFFF000FFFF000001 /* YearInReviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = HX0F000FFFF000FFFF000002 /* YearInReviewView.swift */; };
HX1000001000000010000001 /* AirframeMetadataService.swift in Sources */ = {isa = PBXBuildFile; fileRef = HX1000001000000010000002 /* AirframeMetadataService.swift */; }; HX1000001000000010000001 /* AirframeMetadataService.swift in Sources */ = {isa = PBXBuildFile; fileRef = HX1000001000000010000002 /* AirframeMetadataService.swift */; };
SX01000000000000000001A1 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = SX01000000000000000001B1 /* ShareViewController.swift */; };
SX01000000000000000004A1 /* FlightsShareExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = SX01000000000000000003B1 /* FlightsShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@@ -88,29 +86,8 @@
remoteGlobalIDString = E373C48C497D48D388BF7657; remoteGlobalIDString = E373C48C497D48D388BF7657;
remoteInfo = Flights; remoteInfo = Flights;
}; };
SX0100000000000000000DA1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 5418BEEAEFF644ADA7240CEA /* Project object */;
proxyType = 1;
remoteGlobalIDString = SX01000000000000000009A1;
remoteInfo = FlightsShareExtension;
};
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
SX0100000000000000000FA1 /* Embed Foundation Extensions */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 13;
files = (
SX01000000000000000004A1 /* FlightsShareExtension.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
04AC23D8748D42C9A7115FAC /* Airline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Airline.swift; sourceTree = "<group>"; }; 04AC23D8748D42C9A7115FAC /* Airline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Airline.swift; sourceTree = "<group>"; };
0CD303E3EDCC4BF2BCF31722 /* AirportSearchField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirportSearchField.swift; sourceTree = "<group>"; }; 0CD303E3EDCC4BF2BCF31722 /* AirportSearchField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirportSearchField.swift; sourceTree = "<group>"; };
@@ -184,9 +161,6 @@
HX0E000EEEE000EEEE000002 /* HistoryRouteMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryRouteMapView.swift; sourceTree = "<group>"; }; HX0E000EEEE000EEEE000002 /* HistoryRouteMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryRouteMapView.swift; sourceTree = "<group>"; };
HX0F000FFFF000FFFF000002 /* YearInReviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YearInReviewView.swift; sourceTree = "<group>"; }; HX0F000FFFF000FFFF000002 /* YearInReviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YearInReviewView.swift; sourceTree = "<group>"; };
HX1000001000000010000002 /* AirframeMetadataService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirframeMetadataService.swift; sourceTree = "<group>"; }; HX1000001000000010000002 /* AirframeMetadataService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AirframeMetadataService.swift; sourceTree = "<group>"; };
SX01000000000000000001B1 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; };
SX01000000000000000002B1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
SX01000000000000000003B1 /* FlightsShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = FlightsShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -204,13 +178,6 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
SX01000000000000000007A1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
@@ -285,20 +252,10 @@
children = ( children = (
8A3CB0CCC2524542AFB0D1D2 /* Flights.app */, 8A3CB0CCC2524542AFB0D1D2 /* Flights.app */,
T1000000000000000000003A /* FlightsTests.xctest */, T1000000000000000000003A /* FlightsTests.xctest */,
SX01000000000000000003B1 /* FlightsShareExtension.appex */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
SX01000000000000000005A1 /* FlightsShareExtension */ = {
isa = PBXGroup;
children = (
SX01000000000000000001B1 /* ShareViewController.swift */,
SX01000000000000000002B1 /* Info.plist */,
);
path = FlightsShareExtension;
sourceTree = "<group>";
};
T1000000000000000000005A /* FlightsTests */ = { T1000000000000000000005A /* FlightsTests */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -347,7 +304,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
1D5A2C06B99046F3934D2E59 /* Flights */, 1D5A2C06B99046F3934D2E59 /* Flights */,
SX01000000000000000005A1 /* FlightsShareExtension */,
T1000000000000000000005A /* FlightsTests */, T1000000000000000000005A /* FlightsTests */,
517CC07B82D949359C6CD4F5 /* Products */, 517CC07B82D949359C6CD4F5 /* Products */,
); );
@@ -384,12 +340,10 @@
A5535283EA784250AAF50064 /* Sources */, A5535283EA784250AAF50064 /* Sources */,
EB782B062CA144E2972778DE /* Frameworks */, EB782B062CA144E2972778DE /* Frameworks */,
6B9FCA84AAAA44529A95D7AC /* Resources */, 6B9FCA84AAAA44529A95D7AC /* Resources */,
SX0100000000000000000FA1 /* Embed Foundation Extensions */,
); );
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
SX0100000000000000000EA1 /* PBXTargetDependency */,
); );
name = Flights; name = Flights;
productName = Flights; productName = Flights;
@@ -413,23 +367,6 @@
productReference = T1000000000000000000003A /* FlightsTests.xctest */; productReference = T1000000000000000000003A /* FlightsTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test"; productType = "com.apple.product-type.bundle.unit-test";
}; };
SX01000000000000000009A1 /* FlightsShareExtension */ = {
isa = PBXNativeTarget;
buildConfigurationList = SX0100000000000000000CA1 /* Build configuration list for PBXNativeTarget "FlightsShareExtension" */;
buildPhases = (
SX01000000000000000006A1 /* Sources */,
SX01000000000000000007A1 /* Frameworks */,
SX01000000000000000008A1 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = FlightsShareExtension;
productName = FlightsShareExtension;
productReference = SX01000000000000000003B1 /* FlightsShareExtension.appex */;
productType = "com.apple.product-type.app-extension";
};
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
/* Begin PBXProject section */ /* Begin PBXProject section */
@@ -454,7 +391,6 @@
projectRoot = ""; projectRoot = "";
targets = ( targets = (
E373C48C497D48D388BF7657 /* Flights */, E373C48C497D48D388BF7657 /* Flights */,
SX01000000000000000009A1 /* FlightsShareExtension */,
T1000000000000000000006A /* FlightsTests */, T1000000000000000000006A /* FlightsTests */,
); );
}; };
@@ -466,11 +402,6 @@
target = E373C48C497D48D388BF7657 /* Flights */; target = E373C48C497D48D388BF7657 /* Flights */;
targetProxy = T1000000000000000000002A /* PBXContainerItemProxy */; targetProxy = T1000000000000000000002A /* PBXContainerItemProxy */;
}; };
SX0100000000000000000EA1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = SX01000000000000000009A1 /* FlightsShareExtension */;
targetProxy = SX0100000000000000000DA1 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
/* Begin PBXResourcesBuildPhase section */ /* Begin PBXResourcesBuildPhase section */
@@ -485,13 +416,6 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
SX01000000000000000008A1 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
@@ -574,14 +498,6 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
SX01000000000000000006A1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
SX01000000000000000001A1 /* ShareViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
@@ -724,54 +640,6 @@
}; };
name = Release; name = Release;
}; };
SX0100000000000000000AA1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = V3PF3M6B6U;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = FlightsShareExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.flights.app.share;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
SX0100000000000000000BA1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = V3PF3M6B6U;
GENERATE_INFOPLIST_FILE = NO;
INFOPLIST_FILE = FlightsShareExtension/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.flights.app.share;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
@@ -802,15 +670,6 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
SX0100000000000000000CA1 /* Build configuration list for PBXNativeTarget "FlightsShareExtension" */ = {
isa = XCConfigurationList;
buildConfigurations = (
SX0100000000000000000AA1 /* Debug */,
SX0100000000000000000BA1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 5418BEEAEFF644ADA7240CEA /* Project object */; rootObject = 5418BEEAEFF644ADA7240CEA /* Project object */;