spm: complex refactor, document of package

This commit is contained in:
Joe Mattiello
2023-03-10 19:23:32 -05:00
parent 1f2693bea6
commit 128b180c1f
40 changed files with 905 additions and 745 deletions

View File

@@ -6,19 +6,26 @@ CURRENT_PROJECT_VERSION = 3050
// Vars to be overwritten by `CodeSigning.xcconfig` if exists // Vars to be overwritten by `CodeSigning.xcconfig` if exists
DEVELOPMENT_TEAM = S32Z3HMYVQ DEVELOPMENT_TEAM = S32Z3HMYVQ
ORG_IDENTIFIER = com.SideStore ORG_IDENTIFIER = com.$(PROJECT_NAME)
// Codesigning settings defined optionally, see `CodeSigning.xcconfig.example` // Codesigning settings defined optionally, see `CodeSigning.xcconfig.example`
#include? "CodeSigning.xcconfig" #include? "CodeSigning.xcconfig"
ORG_PREFIX = $(ORG_IDENTIFIER) ORG_PREFIX = $(ORG_IDENTIFIER)
APP_GROUP_IDENTIFIER = $(ORG_PREFIX).$(PROJECT_NAME)
PRODUCT_NAME = SideStore
EXTENSION_PREFIX = $(ORG_PREFIX).SideStore
//PRODUCT_NAME[configuration=Debug] = Prov Debug
PRODUCT_BUNDLE_IDENTIFIER = $(ORG_PREFIX).SideStore
//PRODUCT_BUNDLE_IDENTIFIER[configuration=Debug] = $(ORG_PREFIX).$(PROJECT_NAME:lower)-debug
APP_GROUP_IDENTIFIER = $(ORG_PREFIX).SideStore
ICLOUD_CONTAINER_IDENTIFIER = iCloud.$(ORG_PREFIX).$(PROJECT_NAME) ICLOUD_CONTAINER_IDENTIFIER = iCloud.$(ORG_PREFIX).$(PROJECT_NAME)
PRODUCT_NAME = $(PROJECT_NAME)
PRODUCT_NAME[config=Debug] = $(PROJECT_NAME) Debug
EXTENSION_PREFIX = $(ORG_PREFIX).$(PROJECT_NAME)
PRODUCT_BUNDLE_IDENTIFIER = $(ORG_PREFIX).$(PROJECT_NAME:lower)
PRODUCT_BUNDLE_IDENTIFIER[config=Debug] = $(ORG_PREFIX).$(PROJECT_NAME:lower)-debug
// MARK: - XCode / Swift
// Clang and the build system support a new mode for building module dependencies called explicit modules
// which improves build performance, reliability, and correctness.
// https://developer.apple.com/documentation/xcode-release-notes/xcode-14_3-release-notes#New-Features-in-Xcode-143-Beta-2
_EXPERIMENTAL_CLANG_EXPLICIT_MODULES = YES

View File

@@ -19,25 +19,16 @@ let project = Project(
), ),
entitlements: "SideStoreApp/Sources/SideStore/Resources/SideStore.entitlements", entitlements: "SideStoreApp/Sources/SideStore/Resources/SideStore.entitlements",
dependencies: [ dependencies: [
.package(product: "SideStoreAppKit"), .package(path: "SideStoreApp"),
.target(name: "SideWidget"), .target(name: "SideWidget"),
.sdk(name: "libAppleAcrhive.tbd", status: .required)
], ],
settings: .settings(configurations: [ settings: .settings(configurations: [
.debug(name: "Debug", xcconfig: "SideStoreApp/Configurations/SideStore-Debug.xcconfig"), .debug(name: "Debug", xcconfig: "SideStoreApp/Configurations/SideStore-Debug.xcconfig"),
.release(name: "Release", xcconfig: "SideStoreApp/Configurations/SideStore-Release.xcconfig"), .release(name: "Release", xcconfig: "SideStoreApp/Configurations/SideStore-Release.xcconfig"),
]) ])
), ),
// Target(
// name: "SideStoreTests",
// platform: .iOS,
// product: .unitTests,
// bundleId: "com.SideStore.SideStoreTests",
// infoPlist: "Info.plist",
// sources: ["SideStoreApp/Tests/SideStoreAppTests/**"],
// dependencies: [
// .target(name: "SideStore")
// ]
// ),
Target( Target(
name: "SideWidget", name: "SideWidget",
platform: .iOS, platform: .iOS,
@@ -61,6 +52,18 @@ let project = Project(
.package(product: "AltStoreCore") .package(product: "AltStoreCore")
] ]
), ),
// Target(
// name: "SideStoreTests",
// platform: .iOS,
// product: .unitTests,
// bundleId: "com.SideStore.SideStoreTests",
// infoPlist: "Info.plist",
// sources: ["SideStoreApp/Tests/SideStoreAppTests/**"],
// dependencies: [
// .target(name: "SideStore")
// ]
// ),
// Target( // Target(
// name: "SideStore", // name: "SideStore",
// platform: .tvOS, // platform: .tvOS,

View File

@@ -7,10 +7,6 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
B34AFBD529B03235000F318E /* SideStoreAppKit in Frameworks */ = {isa = PBXBuildFile; productRef = B34AFBD429B03235000F318E /* SideStoreAppKit */; };
B34AFBF829B03251000F318E /* LaunchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFBF629B0324C000F318E /* LaunchViewController.swift */; };
B34AFBF929B03251000F318E /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFBF729B0324C000F318E /* SceneDelegate.swift */; };
B34AFBFA29B03251000F318E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFBF529B0324C000F318E /* AppDelegate.swift */; };
B34AFBFB29B03279000F318E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBE829B0324C000F318E /* Main.storyboard */; }; B34AFBFB29B03279000F318E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBE829B0324C000F318E /* Main.storyboard */; };
B34AFBFC29B0327E000F318E /* SettingsHeaderFooterView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBE329B0324C000F318E /* SettingsHeaderFooterView.xib */; }; B34AFBFC29B0327E000F318E /* SettingsHeaderFooterView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBE329B0324C000F318E /* SettingsHeaderFooterView.xib */; };
B34AFBFD29B0327E000F318E /* BrowseCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBDD29B0324C000F318E /* BrowseCollectionViewCell.xib */; }; B34AFBFD29B0327E000F318E /* BrowseCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBDD29B0324C000F318E /* BrowseCollectionViewCell.xib */; };
@@ -24,14 +20,9 @@
B34AFC0529B0328D000F318E /* apps.json in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBED29B0324C000F318E /* apps.json */; }; B34AFC0529B0328D000F318E /* apps.json in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBED29B0324C000F318E /* apps.json */; };
B34AFC0629B0328D000F318E /* apps-alpha.json in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBEE29B0324C000F318E /* apps-alpha.json */; }; B34AFC0629B0328D000F318E /* apps-alpha.json in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBEE29B0324C000F318E /* apps-alpha.json */; };
B34AFC0729B03291000F318E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBF229B0324C000F318E /* Assets.xcassets */; }; B34AFC0729B03291000F318E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBF229B0324C000F318E /* Assets.xcassets */; };
B34AFC1129B032DF000F318E /* Countdown.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFC0929B032DF000F318E /* Countdown.swift */; };
B34AFC1229B032DF000F318E /* ComplicationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFC0A29B032DF000F318E /* ComplicationView.swift */; };
B34AFC1329B032DF000F318E /* WidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFC0B29B032DF000F318E /* WidgetView.swift */; };
B34AFC1429B032DF000F318E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B34AFC0D29B032DF000F318E /* Assets.xcassets */; }; B34AFC1429B032DF000F318E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B34AFC0D29B032DF000F318E /* Assets.xcassets */; };
B34AFC1629B032DF000F318E /* SideWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFC1029B032DF000F318E /* SideWidget.swift */; }; B34BA8EE29B3432C0055A710 /* SideStore in Frameworks */ = {isa = PBXBuildFile; productRef = B34BA8ED29B3432C0055A710 /* SideStore */; };
B34BA8E629B0FE8D0055A710 /* AppDelegate+BackgroundFetch.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34BA8E529B0FE8D0055A710 /* AppDelegate+BackgroundFetch.swift */; }; B34BA92829B5ED510055A710 /* SideWidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = BF989167250AABF3002ACF50 /* SideWidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
B34BA8EC29B332FF0055A710 /* SideStoreAppKit in Frameworks */ = {isa = PBXBuildFile; productRef = B34BA8EB29B332FF0055A710 /* SideStoreAppKit */; };
B3C40F5229B05B4200C93D50 /* SideWidget in Frameworks */ = {isa = PBXBuildFile; productRef = B3C40F5129B05B4200C93D50 /* SideWidget */; };
B3C40F5329B06A0000C93D50 /* PatchApp.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBD929B0324C000F318E /* PatchApp.storyboard */; }; B3C40F5329B06A0000C93D50 /* PatchApp.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBD929B0324C000F318E /* PatchApp.storyboard */; };
B3C40F5429B06A2B00C93D50 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBE629B0324C000F318E /* LaunchScreen.storyboard */; }; B3C40F5429B06A2B00C93D50 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBE629B0324C000F318E /* LaunchScreen.storyboard */; };
B3C40F5529B06A3200C93D50 /* Authentication.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBDA29B0324C000F318E /* Authentication.storyboard */; }; B3C40F5529B06A3200C93D50 /* Authentication.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B34AFBDA29B0324C000F318E /* Authentication.storyboard */; };
@@ -39,7 +30,28 @@
D533E8B72727841800A9B5DD /* libAppleArchive.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D533E8B62727841800A9B5DD /* libAppleArchive.tbd */; settings = {ATTRIBUTES = (Weak, ); }; }; D533E8B72727841800A9B5DD /* libAppleArchive.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D533E8B62727841800A9B5DD /* libAppleArchive.tbd */; settings = {ATTRIBUTES = (Weak, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
B34BA92929B5ED510055A710 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFD247622284B9A500981D42 /* Project object */;
proxyType = 1;
remoteGlobalIDString = BF989166250AABF3002ACF50;
remoteInfo = SideWidgetExtension;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
B34BA92B29B5ED510055A710 /* Embed Foundation Extensions */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 13;
files = (
B34BA92829B5ED510055A710 /* SideWidgetExtension.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
};
BF088D2B2501A087008082D9 /* Embed Frameworks */ = { BF088D2B2501A087008082D9 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase; isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -81,13 +93,9 @@
B34AFBF529B0324C000F318E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; B34AFBF529B0324C000F318E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
B34AFBF629B0324C000F318E /* LaunchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchViewController.swift; sourceTree = "<group>"; }; B34AFBF629B0324C000F318E /* LaunchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchViewController.swift; sourceTree = "<group>"; };
B34AFBF729B0324C000F318E /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; }; B34AFBF729B0324C000F318E /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
B34AFC0929B032DF000F318E /* Countdown.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Countdown.swift; sourceTree = "<group>"; };
B34AFC0A29B032DF000F318E /* ComplicationView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComplicationView.swift; sourceTree = "<group>"; };
B34AFC0B29B032DF000F318E /* WidgetView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WidgetView.swift; sourceTree = "<group>"; };
B34AFC0D29B032DF000F318E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; B34AFC0D29B032DF000F318E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
B34AFC0E29B032DF000F318E /* SideWidgetExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = SideWidgetExtension.entitlements; sourceTree = "<group>"; }; B34AFC0E29B032DF000F318E /* SideWidgetExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = SideWidgetExtension.entitlements; sourceTree = "<group>"; };
B34AFC0F29B032DF000F318E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; B34AFC0F29B032DF000F318E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
B34AFC1029B032DF000F318E /* SideWidget.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SideWidget.swift; sourceTree = "<group>"; };
B34AFC1929B04EBB000F318E /* Dangerfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dangerfile.swift; sourceTree = "<group>"; }; B34AFC1929B04EBB000F318E /* Dangerfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dangerfile.swift; sourceTree = "<group>"; };
B34AFC1A29B04EBB000F318E /* Project.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Project.swift; sourceTree = "<group>"; }; B34AFC1A29B04EBB000F318E /* Project.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Project.swift; sourceTree = "<group>"; };
B34BA8E529B0FE8D0055A710 /* AppDelegate+BackgroundFetch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+BackgroundFetch.swift"; sourceTree = "<group>"; }; B34BA8E529B0FE8D0055A710 /* AppDelegate+BackgroundFetch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+BackgroundFetch.swift"; sourceTree = "<group>"; };
@@ -116,8 +124,6 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
B34BA8EC29B332FF0055A710 /* SideStoreAppKit in Frameworks */,
B3C40F5229B05B4200C93D50 /* SideWidget in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -125,8 +131,8 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
B34AFBD529B03235000F318E /* SideStoreAppKit in Frameworks */,
D533E8B72727841800A9B5DD /* libAppleArchive.tbd in Frameworks */, D533E8B72727841800A9B5DD /* libAppleArchive.tbd in Frameworks */,
B34BA8EE29B3432C0055A710 /* SideStore in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -218,11 +224,7 @@
B34AFC0829B032DF000F318E /* SideWidget */ = { B34AFC0829B032DF000F318E /* SideWidget */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
B34AFC0929B032DF000F318E /* Countdown.swift */,
B34AFC0A29B032DF000F318E /* ComplicationView.swift */,
B34AFC0B29B032DF000F318E /* WidgetView.swift */,
B34AFC0C29B032DF000F318E /* Resources */, B34AFC0C29B032DF000F318E /* Resources */,
B34AFC1029B032DF000F318E /* SideWidget.swift */,
); );
name = SideWidget; name = SideWidget;
path = SideStoreApp/Sources/SideWidget; path = SideStoreApp/Sources/SideWidget;
@@ -319,8 +321,6 @@
); );
name = SideWidgetExtension; name = SideWidgetExtension;
packageProductDependencies = ( packageProductDependencies = (
B3C40F5129B05B4200C93D50 /* SideWidget */,
B34BA8EB29B332FF0055A710 /* SideStoreAppKit */,
); );
productName = AltWidgetExtension; productName = AltWidgetExtension;
productReference = BF989167250AABF3002ACF50 /* SideWidgetExtension.appex */; productReference = BF989167250AABF3002ACF50 /* SideWidgetExtension.appex */;
@@ -334,14 +334,16 @@
BFD247672284B9A500981D42 /* Frameworks */, BFD247672284B9A500981D42 /* Frameworks */,
BFD247682284B9A500981D42 /* Resources */, BFD247682284B9A500981D42 /* Resources */,
BF088D2B2501A087008082D9 /* Embed Frameworks */, BF088D2B2501A087008082D9 /* Embed Frameworks */,
B34BA92B29B5ED510055A710 /* Embed Foundation Extensions */,
); );
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
B34BA92A29B5ED510055A710 /* PBXTargetDependency */,
); );
name = SideStore; name = SideStore;
packageProductDependencies = ( packageProductDependencies = (
B34AFBD429B03235000F318E /* SideStoreAppKit */, B34BA8ED29B3432C0055A710 /* SideStore */,
); );
productName = AltStore; productName = AltStore;
productReference = BFD2476A2284B9A500981D42 /* SideStore.app */; productReference = BFD2476A2284B9A500981D42 /* SideStore.app */;
@@ -437,10 +439,6 @@
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
B34AFC1629B032DF000F318E /* SideWidget.swift in Sources */,
B34AFC1329B032DF000F318E /* WidgetView.swift in Sources */,
B34AFC1229B032DF000F318E /* ComplicationView.swift in Sources */,
B34AFC1129B032DF000F318E /* Countdown.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -448,15 +446,19 @@
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
B34AFBFA29B03251000F318E /* AppDelegate.swift in Sources */,
B34AFBF829B03251000F318E /* LaunchViewController.swift in Sources */,
B34AFBF929B03251000F318E /* SceneDelegate.swift in Sources */,
B34BA8E629B0FE8D0055A710 /* AppDelegate+BackgroundFetch.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
B34BA92A29B5ED510055A710 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = BF989166250AABF3002ACF50 /* SideWidgetExtension */;
targetProxy = B34BA92929B5ED510055A710 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */ /* Begin PBXVariantGroup section */
B34AFBE629B0324C000F318E /* LaunchScreen.storyboard */ = { B34AFBE629B0324C000F318E /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
@@ -493,7 +495,6 @@
DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)";
FRAMEWORK_SEARCH_PATHS = "$(inherited)"; FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = SideStoreApp/Sources/SideWidget/Resources/Info.plist; INFOPLIST_FILE = SideStoreApp/Sources/SideWidget/Resources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -523,7 +524,6 @@
DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)";
FRAMEWORK_SEARCH_PATHS = "$(inherited)"; FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = SideStoreApp/Sources/SideWidget/Resources/Info.plist; INFOPLIST_FILE = SideStoreApp/Sources/SideWidget/Resources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -541,6 +541,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = B3C39607284F4C8400DA9E2F /* Build.xcconfig */; baseConfigurationReference = B3C39607284F4C8400DA9E2F /* Build.xcconfig */;
buildSettings = { buildSettings = {
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -590,7 +591,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.2; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MACOSX_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@@ -599,11 +600,13 @@
"$(OTHER_CFLAGS)", "$(OTHER_CFLAGS)",
"-Wno-module-import-in-extern-c", "-Wno-module-import-in-extern-c",
); );
SDKROOT = iphoneos; SDKROOT = auto;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx"; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvsimulator appletvos";
SUPPORTS_MACCATALYST = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG BETA"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG BETA";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SYSTEM_HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Dependencies/AltSign/Dependencies\""; SYSTEM_HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Dependencies/AltSign/Dependencies\"";
TVOS_DEPLOYMENT_TARGET = 14.2;
}; };
name = Debug; name = Debug;
}; };
@@ -611,6 +614,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
baseConfigurationReference = B3C39607284F4C8400DA9E2F /* Build.xcconfig */; baseConfigurationReference = B3C39607284F4C8400DA9E2F /* Build.xcconfig */;
buildSettings = { buildSettings = {
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -654,7 +658,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.2; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MACOSX_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@@ -662,12 +666,14 @@
"$(OTHER_CFLAGS)", "$(OTHER_CFLAGS)",
"-Wno-module-import-in-extern-c", "-Wno-module-import-in-extern-c",
); );
SDKROOT = iphoneos; SDKROOT = auto;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx"; SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvsimulator appletvos";
SUPPORTS_MACCATALYST = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG BETA"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG BETA";
SWIFT_COMPILATION_MODE = wholemodule; SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_OPTIMIZATION_LEVEL = "-O";
SYSTEM_HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Dependencies/AltSign/Dependencies\""; SYSTEM_HEADER_SEARCH_PATHS = "\"$(SRCROOT)/Dependencies/AltSign/Dependencies\"";
TVOS_DEPLOYMENT_TARGET = 14.2;
VALIDATE_PRODUCT = YES; VALIDATE_PRODUCT = YES;
}; };
name = Release; name = Release;
@@ -684,7 +690,6 @@
DEVELOPMENT_TEAM = S32Z3HMYVQ; DEVELOPMENT_TEAM = S32Z3HMYVQ;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = SideStoreApp/Sources/SideStore/Resources/Info.plist; INFOPLIST_FILE = SideStoreApp/Sources/SideStore/Resources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -693,7 +698,6 @@
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
@@ -712,7 +716,6 @@
DEVELOPMENT_TEAM = S32Z3HMYVQ; DEVELOPMENT_TEAM = S32Z3HMYVQ;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = SideStoreApp/Sources/SideStore/Resources/Info.plist; INFOPLIST_FILE = SideStoreApp/Sources/SideStore/Resources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -721,7 +724,6 @@
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
}; };
@@ -760,17 +762,9 @@
/* End XCConfigurationList section */ /* End XCConfigurationList section */
/* Begin XCSwiftPackageProductDependency section */ /* Begin XCSwiftPackageProductDependency section */
B34AFBD429B03235000F318E /* SideStoreAppKit */ = { B34BA8ED29B3432C0055A710 /* SideStore */ = {
isa = XCSwiftPackageProductDependency; isa = XCSwiftPackageProductDependency;
productName = SideStoreAppKit; productName = SideStore;
};
B34BA8EB29B332FF0055A710 /* SideStoreAppKit */ = {
isa = XCSwiftPackageProductDependency;
productName = SideStoreAppKit;
};
B3C40F5129B05B4200C93D50 /* SideWidget */ = {
isa = XCSwiftPackageProductDependency;
productName = SideWidget;
}; };
/* End XCSwiftPackageProductDependency section */ /* End XCSwiftPackageProductDependency section */
}; };

View File

@@ -1,14 +1,5 @@
{ {
"pins" : [ "pins" : [
{
"identity" : "aexml",
"kind" : "remoteSourceControl",
"location" : "https://github.com/tadija/AEXML",
"state" : {
"revision" : "54bb8ea6fb693dd3f92a89e5fcc19e199fdeedd0",
"version" : "4.3.3"
}
},
{ {
"identity" : "altsign", "identity" : "altsign",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -36,15 +27,6 @@
"revision" : "e754ab1c80920dd51a8e08290c912ac1c2ac8b58" "revision" : "e754ab1c80920dd51a8e08290c912ac1c2ac8b58"
} }
}, },
{
"identity" : "ignore",
"kind" : "remoteSourceControl",
"location" : "https://github.com/IgorMuzyka/ignore",
"state" : {
"revision" : "49780cf3d46053eb40f4c425a46aaaf662f0665c",
"version" : "0.0.2"
}
},
{ {
"identity" : "imobiledevice.swift", "identity" : "imobiledevice.swift",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -54,15 +36,6 @@
"version" : "1.0.5" "version" : "1.0.5"
} }
}, },
{
"identity" : "infomaticplugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/elegantchaos/InfomaticPlugin.git",
"state" : {
"branch" : "main",
"revision" : "735c0f1431f65977fcb3f808b74f6eeb728183ef"
}
},
{ {
"identity" : "keychainaccess", "identity" : "keychainaccess",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -73,12 +46,12 @@
} }
}, },
{ {
"identity" : "logger", "identity" : "launchatlogin",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/f-meloni/Logger", "location" : "https://github.com/sindresorhus/LaunchAtLogin.git",
"state" : { "state" : {
"revision" : "53c3ecca5abe8cf46697e33901ee774236d94cce", "revision" : "7ad6331f9c38953eb1ce8737758e18f7607e984a",
"version" : "0.2.3" "version" : "5.0.0"
} }
}, },
{ {
@@ -108,33 +81,6 @@
"version" : "1.1.2000" "version" : "1.1.2000"
} }
}, },
{
"identity" : "packagebuildinfo",
"kind" : "remoteSourceControl",
"location" : "https://github.com/DimaRU/PackageBuildInfo",
"state" : {
"branch" : "master",
"revision" : "7fe63ad12b50bad5d86e6abaef5a944f931ce765"
}
},
{
"identity" : "packageconfig",
"kind" : "remoteSourceControl",
"location" : "https://github.com/orta/PackageConfig.git",
"state" : {
"revision" : "bf90dc69fa0792894b08a0b74cf34029694ae486",
"version" : "0.13.0"
}
},
{
"identity" : "pathkit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kylef/PathKit",
"state" : {
"revision" : "e2f5be30e4c8f531c9c1e8765aa7b71c0a45d7a0",
"version" : "0.9.2"
}
},
{ {
"identity" : "plcrashreporter", "identity" : "plcrashreporter",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -162,15 +108,6 @@
"version" : "1.3.2" "version" : "1.3.2"
} }
}, },
{
"identity" : "secretsmanager",
"kind" : "remoteSourceControl",
"location" : "https://github.com/vdka/SecretsManager.git",
"state" : {
"revision" : "7e7eb0304726a2d9788432a3b90d79817ce2f6e1",
"version" : "1.1.1"
}
},
{ {
"identity" : "semanticversion", "identity" : "semanticversion",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -189,60 +126,6 @@
"version" : "0.1.0" "version" : "0.1.0"
} }
}, },
{
"identity" : "spectre",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kylef/Spectre.git",
"state" : {
"revision" : "f79d4ecbf8bc4e1579fbd86c3e1d652fb6876c53",
"version" : "0.9.2"
}
},
{
"identity" : "swift-argument-parser",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-argument-parser",
"state" : {
"revision" : "fee6933f37fde9a5e12a1e4aeaa93fe60116ff2a",
"version" : "1.2.2"
}
},
{
"identity" : "swift-docc-plugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-docc-plugin",
"state" : {
"revision" : "10bc670db657d11bdd561e07de30a9041311b2b1",
"version" : "1.1.0"
}
},
{
"identity" : "swift-docc-symbolkit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-docc-symbolkit",
"state" : {
"revision" : "b45d1f2ed151d057b54504d653e0da5552844e34",
"version" : "1.0.0"
}
},
{
"identity" : "swift-secret-keys",
"kind" : "remoteSourceControl",
"location" : "https://github.com/simorgh3196/swift-secret-keys",
"state" : {
"revision" : "d156d039bea258466a2bbc0046936867db1a0915",
"version" : "0.1.0"
}
},
{
"identity" : "swiftlintplugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/lukepistrol/SwiftLintPlugin",
"state" : {
"revision" : "f69b412a765396d44dc9f4788a5b79919c1ca9e3",
"version" : "0.2.2"
}
},
{ {
"identity" : "swiftpmplugins", "identity" : "swiftpmplugins",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -252,15 +135,6 @@
"version" : "1.0.0" "version" : "1.0.0"
} }
}, },
{
"identity" : "swiftshell",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kareman/SwiftShell",
"state" : {
"revision" : "beebe43c986d89ea5359ac3adcb42dac94e5e08a",
"version" : "4.1.2"
}
},
{ {
"identity" : "versionator", "identity" : "versionator",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -270,15 +144,6 @@
"version" : "1.0.3" "version" : "1.0.3"
} }
}, },
{
"identity" : "xcodeproj",
"kind" : "remoteSourceControl",
"location" : "https://github.com/tuist/xcodeproj.git",
"state" : {
"revision" : "065f348754b6155b8037dc43876a8f2ee354b95d",
"version" : "6.7.0"
}
},
{ {
"identity" : "xctestextensions", "identity" : "xctestextensions",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -287,15 +152,6 @@
"revision" : "39694671be8bea1ab0bbd87114705b2a92567a8e", "revision" : "39694671be8bea1ab0bbd87114705b2a92567a8e",
"version" : "1.5.0" "version" : "1.5.0"
} }
},
{
"identity" : "yams",
"kind" : "remoteSourceControl",
"location" : "https://github.com/jpsim/Yams",
"state" : {
"revision" : "f47ba4838c30dbd59998a4e4c87ab620ff959e8a",
"version" : "5.0.5"
}
} }
], ],
"version" : 2 "version" : 2

View File

@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1420"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BFD247692284B9A500981D42"
BuildableName = "SideStore.app"
BlueprintName = "SideStore"
ReferencedContainer = "container:SideStore.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BFD247692284B9A500981D42"
BuildableName = "SideStore.app"
BlueprintName = "SideStore"
ReferencedContainer = "container:SideStore.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BFD247692284B9A500981D42"
BuildableName = "SideStore.app"
BlueprintName = "SideStore"
ReferencedContainer = "container:SideStore.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1420"
wasCreatedForAppExtension = "YES"
version = "2.0">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BF989166250AABF3002ACF50"
BuildableName = "SideWidgetExtension.appex"
BlueprintName = "SideWidgetExtension"
ReferencedContainer = "container:SideStore.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BFD247692284B9A500981D42"
BuildableName = "SideStore.app"
BlueprintName = "SideStore"
ReferencedContainer = "container:SideStore.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
launchStyle = "0"
askForAppToLaunch = "Yes"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES"
launchAutomaticallySubstyle = "2">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BFD247692284B9A500981D42"
BuildableName = "SideStore.app"
BlueprintName = "SideStore"
ReferencedContainer = "container:SideStore.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<EnvironmentVariables>
<EnvironmentVariable
key = "_XCWidgetKind"
value = ""
isEnabled = "NO">
</EnvironmentVariable>
<EnvironmentVariable
key = "_XCWidgetDefaultView"
value = "timeline"
isEnabled = "NO">
</EnvironmentVariable>
<EnvironmentVariable
key = "_XCWidgetFamily"
value = "medium"
isEnabled = "NO">
</EnvironmentVariable>
</EnvironmentVariables>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES"
launchAutomaticallySubstyle = "2">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BFD247692284B9A500981D42"
BuildableName = "SideStore.app"
BlueprintName = "SideStore"
ReferencedContainer = "container:SideStore.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

0
SideStoreApp/.env Normal file
View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +0,0 @@
//
// PackageConfigs.swift
// PackageConfigs
//
// Created by Joseph Mattiello on 03/02/23.
// Copyright © 2023 Joseph Mattiello. All rights reserved.
//
// Dummy
public final class PackageConfigs { }

View File

@@ -131,7 +131,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qlg-m3-lXg"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qlg-m3-lXg">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews> <subviews>
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NEy-yr-cLS" customClass="AppBannerView" customModule="SideStore" customModuleProvider="target"> <view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NEy-yr-cLS" customClass="AppBannerView" customModule="SideStoreAppKit">
<rect key="frame" x="37" y="287" width="300" height="93"/> <rect key="frame" x="37" y="287" width="300" height="93"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</view> </view>
@@ -660,7 +660,7 @@ World</string>
<rect key="frame" x="0.0" y="0.0" width="375" height="60"/> <rect key="frame" x="0.0" y="0.0" width="375" height="60"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mos-e4-dQ7" customClass="AppBannerView" customModule="SideStore" customModuleProvider="target"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mos-e4-dQ7" customClass="AppBannerView" customModule="SideStoreAppKit">
<rect key="frame" x="8" y="0.0" width="359" height="60"/> <rect key="frame" x="8" y="0.0" width="359" height="60"/>
</view> </view>
</subviews> </subviews>
@@ -816,7 +816,7 @@ World</string>
<rect key="frame" x="0.0" y="0.0" width="375" height="80"/> <rect key="frame" x="0.0" y="0.0" width="375" height="80"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1w8-fI-98T" customClass="AppBannerView" customModule="SideStore" customModuleProvider="target"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1w8-fI-98T" customClass="AppBannerView" customModule="SideStoreAppKit">
<rect key="frame" x="8" y="0.0" width="359" height="80"/> <rect key="frame" x="8" y="0.0" width="359" height="80"/>
<accessibility key="accessibilityConfiguration"> <accessibility key="accessibilityConfiguration">
<bool key="isElement" value="YES"/> <bool key="isElement" value="YES"/>
@@ -835,7 +835,7 @@ World</string>
</connections> </connections>
</collectionViewCell> </collectionViewCell>
</cells> </cells>
<collectionReusableView key="sectionHeaderView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" reuseIdentifier="Header" id="th0-G6-bRt" customClass="TextCollectionReusableView" customModule="SideStore" customModuleProvider="target"> <collectionReusableView key="sectionHeaderView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" reuseIdentifier="Header" id="th0-G6-bRt" customClass="TextCollectionReusableView" customModule="SideStoreAppKit">
<rect key="frame" x="0.0" y="0.0" width="375" height="60"/> <rect key="frame" x="0.0" y="0.0" width="375" height="60"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
@@ -856,7 +856,7 @@ World</string>
<outlet property="textLabel" destination="83Z-Ih-nOW" id="xxM-HD-iJS"/> <outlet property="textLabel" destination="83Z-Ih-nOW" id="xxM-HD-iJS"/>
</connections> </connections>
</collectionReusableView> </collectionReusableView>
<collectionReusableView key="sectionFooterView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" reuseIdentifier="Footer" id="xMh-lD-r6C" customClass="TextCollectionReusableView" customModule="SideStore" customModuleProvider="target"> <collectionReusableView key="sectionFooterView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" reuseIdentifier="Footer" id="xMh-lD-r6C" customClass="TextCollectionReusableView" customModule="SideStoreAppKit">
<rect key="frame" x="0.0" y="170" width="375" height="50"/> <rect key="frame" x="0.0" y="170" width="375" height="50"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
@@ -962,7 +962,7 @@ World</string>
<rect key="frame" x="0.0" y="0.0" width="375" height="80"/> <rect key="frame" x="0.0" y="0.0" width="375" height="80"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LW1-CC-bWu" customClass="AppBannerView" customModule="SideStore" customModuleProvider="target"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LW1-CC-bWu" customClass="AppBannerView" customModule="SideStoreAppKit">
<rect key="frame" x="8" y="0.0" width="359" height="80"/> <rect key="frame" x="8" y="0.0" width="359" height="80"/>
<accessibility key="accessibilityConfiguration"> <accessibility key="accessibilityConfiguration">
<bool key="isElement" value="YES"/> <bool key="isElement" value="YES"/>
@@ -981,7 +981,7 @@ World</string>
</connections> </connections>
</collectionViewCell> </collectionViewCell>
</cells> </cells>
<collectionReusableView key="sectionHeaderView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" reuseIdentifier="Header" id="8N7-JY-mcA" customClass="TextCollectionReusableView" customModule="SideStore" customModuleProvider="target"> <collectionReusableView key="sectionHeaderView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" reuseIdentifier="Header" id="8N7-JY-mcA" customClass="TextCollectionReusableView" customModule="SideStoreAppKit">
<rect key="frame" x="0.0" y="0.0" width="375" height="200"/> <rect key="frame" x="0.0" y="0.0" width="375" height="200"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>

View File

@@ -20,7 +20,7 @@
<stackView verifyAmbiguity="off" opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="5gU-g3-Fsy"> <stackView verifyAmbiguity="off" opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="15" translatesAutoresizingMaskIntoConstraints="NO" id="5gU-g3-Fsy">
<rect key="frame" x="16" y="0.0" width="343" height="369"/> <rect key="frame" x="16" y="0.0" width="343" height="369"/>
<subviews> <subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ziA-mP-AY2" customClass="AppBannerView" customModule="SideStore" customModuleProvider="target"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ziA-mP-AY2" customClass="AppBannerView" customModule="SideStoreAppKit">
<rect key="frame" x="0.0" y="0.0" width="343" height="88"/> <rect key="frame" x="0.0" y="0.0" width="343" height="88"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints> <constraints>

View File

@@ -30,7 +30,7 @@
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="uYl-PH-DuP"> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="uYl-PH-DuP">
<rect key="frame" x="0.0" y="0.0" width="343" height="125"/> <rect key="frame" x="0.0" y="0.0" width="343" height="125"/>
<subviews> <subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Nop-pL-Icx" customClass="AppBannerView" customModule="SideStore" customModuleProvider="target"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Nop-pL-Icx" customClass="AppBannerView" customModule="SideStoreAppKit">
<rect key="frame" x="0.0" y="0.0" width="343" height="88"/> <rect key="frame" x="0.0" y="0.0" width="343" height="88"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="88" id="EPP-7O-1Ad"/> <constraint firstAttribute="height" constant="88" id="EPP-7O-1Ad"/>

View File

@@ -8,6 +8,7 @@
import UIKit import UIKit
@objc
final class PermissionCollectionViewCell: UICollectionViewCell { final class PermissionCollectionViewCell: UICollectionViewCell {
@IBOutlet var button: UIButton! @IBOutlet var button: UIButton!
@IBOutlet var textLabel: UILabel! @IBOutlet var textLabel: UILabel!
@@ -26,6 +27,7 @@ final class PermissionCollectionViewCell: UICollectionViewCell {
} }
} }
@objc
final class AppContentTableViewCell: UITableViewCell { final class AppContentTableViewCell: UITableViewCell {
override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize { override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {
// Ensure cell is laid out so it will report correct size. // Ensure cell is laid out so it will report correct size.

View File

@@ -13,7 +13,9 @@ import RoxasUIKit
import Nuke import Nuke
final class AppViewController: UIViewController { @objc
@objcMembers
public final class AppViewController: UIViewController {
var app: StoreApp! var app: StoreApp!
private var contentViewController: AppContentViewController! private var contentViewController: AppContentViewController!
@@ -46,11 +48,11 @@ final class AppViewController: UIViewController {
private var _preferredStatusBarStyle: UIStatusBarStyle = .default private var _preferredStatusBarStyle: UIStatusBarStyle = .default
override var preferredStatusBarStyle: UIStatusBarStyle { public override var preferredStatusBarStyle: UIStatusBarStyle {
_preferredStatusBarStyle _preferredStatusBarStyle
} }
override func viewDidLoad() { public override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
navigationBarTitleView.sizeToFit() navigationBarTitleView.sizeToFit()
@@ -123,7 +125,7 @@ final class AppViewController: UIViewController {
} }
} }
override func viewWillAppear(_ animated: Bool) { public override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
prepareBlur() prepareBlur()
@@ -137,7 +139,7 @@ final class AppViewController: UIViewController {
}, completion: nil) }, completion: nil)
} }
override func viewDidAppear(_ animated: Bool) { public override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated) super.viewDidAppear(animated)
_shouldResetLayout = true _shouldResetLayout = true
@@ -145,7 +147,7 @@ final class AppViewController: UIViewController {
view.layoutIfNeeded() view.layoutIfNeeded()
} }
override func viewWillDisappear(_ animated: Bool) { public override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated) super.viewWillDisappear(animated)
// Guard against "dismissing" when presenting via 3D Touch pop. // Guard against "dismissing" when presenting via 3D Touch pop.
@@ -164,7 +166,7 @@ final class AppViewController: UIViewController {
}) })
} }
override func viewDidDisappear(_ animated: Bool) { public override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated) super.viewDidDisappear(animated)
if navigationController == nil { if navigationController == nil {
@@ -172,7 +174,7 @@ final class AppViewController: UIViewController {
} }
} }
override func prepare(for segue: UIStoryboardSegue, sender _: Any?) { public override func prepare(for segue: UIStoryboardSegue, sender _: Any?) {
guard segue.identifier == "embedAppContentViewController" else { return } guard segue.identifier == "embedAppContentViewController" else { return }
contentViewController = segue.destination as? AppContentViewController contentViewController = segue.destination as? AppContentViewController
@@ -185,7 +187,7 @@ final class AppViewController: UIViewController {
} }
} }
override func viewDidLayoutSubviews() { public override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews() super.viewDidLayoutSubviews()
if _shouldResetLayout { if _shouldResetLayout {
@@ -311,7 +313,7 @@ final class AppViewController: UIViewController {
bannerView.backgroundEffectView.backgroundColor = .clear bannerView.backgroundEffectView.backgroundColor = .clear
} }
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { public override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection) super.traitCollectionDidChange(previousTraitCollection)
_shouldResetLayout = true _shouldResetLayout = true
} }
@@ -496,7 +498,7 @@ private extension AppViewController {
} }
extension AppViewController: UIScrollViewDelegate { extension AppViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_: UIScrollView) { public func scrollViewDidScroll(_: UIScrollView) {
view.setNeedsLayout() view.setNeedsLayout()
view.layoutIfNeeded() view.layoutIfNeeded()
} }

View File

@@ -8,6 +8,7 @@
import UIKit import UIKit
@objc
final class BannerCollectionViewCell: UICollectionViewCell { final class BannerCollectionViewCell: UICollectionViewCell {
private(set) var errorBadge: UIView? private(set) var errorBadge: UIView?
@IBOutlet private(set) var bannerView: AppBannerView! @IBOutlet private(set) var bannerView: AppBannerView!

View File

@@ -8,7 +8,8 @@
import UIKit import UIKit
class TextCollectionReusableView: UICollectionReusableView { @objc
public class TextCollectionReusableView: UICollectionReusableView {
@IBOutlet var textLabel: UILabel! @IBOutlet var textLabel: UILabel!
@IBOutlet var topLayoutConstraint: NSLayoutConstraint! @IBOutlet var topLayoutConstraint: NSLayoutConstraint!

View File

@@ -9,6 +9,7 @@
import RoxasUIKit import RoxasUIKit
import UIKit import UIKit
@objc
final class InstalledAppCollectionViewCell: UICollectionViewCell { final class InstalledAppCollectionViewCell: UICollectionViewCell {
private(set) var deactivateBadge: UIView? private(set) var deactivateBadge: UIView?
@@ -52,11 +53,13 @@ final class InstalledAppCollectionViewCell: UICollectionViewCell {
} }
} }
@objc
final class InstalledAppsCollectionFooterView: UICollectionReusableView { final class InstalledAppsCollectionFooterView: UICollectionReusableView {
@IBOutlet var textLabel: UILabel! @IBOutlet var textLabel: UILabel!
@IBOutlet var button: UIButton! @IBOutlet var button: UIButton!
} }
@objc
final class NoUpdatesCollectionViewCell: UICollectionViewCell { final class NoUpdatesCollectionViewCell: UICollectionViewCell {
@IBOutlet var blurView: UIVisualEffectView! @IBOutlet var blurView: UIVisualEffectView!
@@ -67,6 +70,7 @@ final class NoUpdatesCollectionViewCell: UICollectionViewCell {
} }
} }
@objc
final class UpdatesCollectionHeaderView: UICollectionReusableView { final class UpdatesCollectionHeaderView: UICollectionReusableView {
let button = PillButton(type: .system) let button = PillButton(type: .system)

View File

@@ -8,6 +8,7 @@
import UIKit import UIKit
@objc
final class NewsCollectionViewCell: UICollectionViewCell { final class NewsCollectionViewCell: UICollectionViewCell {
@IBOutlet var titleLabel: UILabel! @IBOutlet var titleLabel: UILabel!
@IBOutlet var captionLabel: UILabel! @IBOutlet var captionLabel: UILabel!

View File

@@ -8,6 +8,7 @@
import UIKit import UIKit
@objc
final class PatronCollectionViewCell: UICollectionViewCell { final class PatronCollectionViewCell: UICollectionViewCell {
@IBOutlet var textLabel: UILabel! @IBOutlet var textLabel: UILabel!
} }

View File

@@ -1,5 +1,5 @@
// //
// SharedTests.swift // SideStoreSharedTests.swift
// SideStore // SideStore
// //
// Created by Joseph Mattiello on 2/28/23. // Created by Joseph Mattiello on 2/28/23.
@@ -7,9 +7,9 @@
// //
import XCTest import XCTest
@testable import Shared @testable import SideStoreShared
class SharedTests: XCTestCase { class SideStoreSharedTests: XCTestCase {
override func setUp() { override func setUp() {
super.setUp() super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class. // Put setup code here. This method is called before the invocation of each test method in the class.

11
Tuist/Config.swift Normal file
View File

@@ -0,0 +1,11 @@
import ProjectDescription
let config = Config(
compatibleXcodeVersions: [upToNextMajor("14.0")],
swiftVersion: "5.4.0",
generationOptions: .options([
xcodeProjectName: "SideStore-\(.projectName)",
organizationName: "SideStore.io",
developmentRegion: "en"
])
)

21
Tuist/Setup.swift Normal file
View File

@@ -0,0 +1,21 @@
import ProjectDescription
let setup = Setup(
require: [
.precondition(
.swiftVersion("5.3.2"),
.xcodeVersion("12.4", "12D4e"))
],
run: [
.homebrew(packages: [
"rustup-init",
"rust",
"cargo-c",
"swiftformat",
"swiftlint",
"swiftgen",
"swift-doc"
]),
.mint()
]
)