Files
Felitendo 994f38353c feat: two more signing options, and installing several apps in one go
The library already had multi-select for removing apps. The same selection
now also signs and installs, one app after another: every install ends at
the system's own sheet and only one of those can be up at a time, so the
queue is drained in order rather than in parallel, and each app is signed
only once the previous sheet has been dismissed. Signing a whole selection
up front would fill storage with builds nobody has agreed to install yet. A
failure moves the queue on instead of abandoning it, and the companion
updater is never swept into a bulk action.

Two signing options join it. Liquid Glass can now be turned off as well as
on, which is the more useful direction for an app that already looks right
and stops doing so; the two are mutually exclusive because they write one
key. And a bundled fix for the document picker, off by default, copies
whatever is picked into the app's own container first, so importing works
in an app whose resigned build lost the permission to read it. It is built
from source at build time, and a toolchain that cannot produce it leaves the
option unavailable rather than failing the build.

Saved signing options are now decoded field by field. Every one of them
falls back to its own default, so adding an option no longer resets all of
them for anyone who had changed one.
2026-08-24 15:34:11 +02:00

854 lines
35 KiB
Plaintext

// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
3305BBAC2DB8944200660D45 /* Vapor in Frameworks */ = {isa = PBXBuildFile; productRef = 3305BBAB2DB8944200660D45 /* Vapor */; };
330F68FC2DBF7C8600D8C35D /* NimbleExtensions in Frameworks */ = {isa = PBXBuildFile; productRef = 330F68FB2DBF7C8600D8C35D /* NimbleExtensions */; };
330F68FE2DBF7C8600D8C35D /* NimbleViews in Frameworks */ = {isa = PBXBuildFile; productRef = 330F68FD2DBF7C8600D8C35D /* NimbleViews */; };
330F69012DC03DF500D8C35D /* NimbleExtensions in Frameworks */ = {isa = PBXBuildFile; productRef = 330F69002DC03DF500D8C35D /* NimbleExtensions */; };
330F69032DC03DF500D8C35D /* NimbleViews in Frameworks */ = {isa = PBXBuildFile; productRef = 330F69022DC03DF500D8C35D /* NimbleViews */; };
3346F5C22DC329A200C7D508 /* ZsignSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 3346F5C12DC329A200C7D508 /* ZsignSwift */; };
3346F83B2DC6C6D100C7D508 /* NukeUI in Frameworks */ = {isa = PBXBuildFile; productRef = 3346F83A2DC6C6D100C7D508 /* NukeUI */; };
3346F8492DC6D64800C7D508 /* NimbleJSON in Frameworks */ = {isa = PBXBuildFile; productRef = 3346F8482DC6D64800C7D508 /* NimbleJSON */; };
3349E7672DEFB46F00E317ED /* IDeviceSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 3349E7662DEFB46F00E317ED /* IDeviceSwift */; };
33693A082DC8BF5B00730215 /* AltSourceKit in Frameworks */ = {isa = PBXBuildFile; productRef = 33693A072DC8BF5B00730215 /* AltSourceKit */; };
336D43982DB7454A00206400 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 336D43972DB7454A00206400 /* MobileCoreServices.framework */; };
3371F7322DA9ECDD00281AC6 /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = 3371F7312DA9ECDD00281AC6 /* Zip */; };
33CF13392DB5ACFB0021D4C5 /* SWCompression in Frameworks */ = {isa = PBXBuildFile; productRef = 33CF13382DB5ACFB0021D4C5 /* SWCompression */; };
570920BE2F98A4F0008C4A83 /* FTStore.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */; };
57AC110000000000000000B8 /* FTStoreActivity.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 57AC110000000000000000A1 /* FTStoreActivity.appex */; platformFilter = ios; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
57AC110000000000000000B9 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 3379C1B12DA869A1004372DA /* Project object */;
proxyType = 1;
remoteGlobalIDString = 57AC110000000000000000B0;
remoteInfo = FTStoreActivity;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
57AC110000000000000000B7 /* Embed Foundation Extensions */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 13;
files = (
57AC110000000000000000B8 /* FTStoreActivity.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
336D43972DB7454A00206400 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS18.2.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; };
3379C1B92DA869A1004372DA /* FTStore.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FTStore.app; sourceTree = BUILT_PRODUCTS_DIR; };
57AC110000000000000000A1 /* FTStoreActivity.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = FTStoreActivity.appex; sourceTree = BUILT_PRODUCTS_DIR; };
570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = FTStore.xcconfig; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
3371F6492DA92A1800281AC6 /* Exceptions for "FTStore" folder in "FTStore" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Resources/ellekit.deb,
Resources/Info.plist,
);
target = 3379C1B82DA869A1004372DA /* FTStore */;
};
57AC110000000000000000A3 /* Exceptions for "FTStoreActivity" folder in "FTStoreActivity" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Info.plist,
README.md,
);
target = 57AC110000000000000000B0 /* FTStoreActivity */;
};
57AC110000000000000000A4 /* Exceptions for "FTStore" folder in "FTStoreActivity" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
Backend/Observable/InstallActivityAttributes.swift,
Backend/Observable/InstallActivityIntents.swift,
);
target = 57AC110000000000000000B0 /* FTStoreActivity */;
};
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
/* Begin PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
33CF134C2DB5B9BC0021D4C5 /* Exceptions for "FTStore" folder in "Copy Bundle Resources" phase from "FTStore" target */ = {
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
buildPhase = 3379C1B72DA869A1004372DA /* Resources */;
membershipExceptions = (
Resources/ellekit.deb,
);
};
/* End PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
/* Begin PBXFileSystemSynchronizedRootGroup section */
3379C1BB2DA869A1004372DA /* FTStore */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
3371F6492DA92A1800281AC6 /* Exceptions for "FTStore" folder in "FTStore" target */,
33CF134C2DB5B9BC0021D4C5 /* Exceptions for "FTStore" folder in "Copy Bundle Resources" phase from "FTStore" target */,
57AC110000000000000000A4 /* Exceptions for "FTStore" folder in "FTStoreActivity" target */,
);
path = FTStore;
sourceTree = "<group>";
};
57AC110000000000000000A2 /* FTStoreActivity */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
57AC110000000000000000A3 /* Exceptions for "FTStoreActivity" folder in "FTStoreActivity" target */,
);
path = FTStoreActivity;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */
3379C1B62DA869A1004372DA /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
330F68FE2DBF7C8600D8C35D /* NimbleViews in Frameworks */,
330F68FC2DBF7C8600D8C35D /* NimbleExtensions in Frameworks */,
3346F5C22DC329A200C7D508 /* ZsignSwift in Frameworks */,
3346F8492DC6D64800C7D508 /* NimbleJSON in Frameworks */,
330F69012DC03DF500D8C35D /* NimbleExtensions in Frameworks */,
3349E7672DEFB46F00E317ED /* IDeviceSwift in Frameworks */,
33CF13392DB5ACFB0021D4C5 /* SWCompression in Frameworks */,
33693A082DC8BF5B00730215 /* AltSourceKit in Frameworks */,
3371F7322DA9ECDD00281AC6 /* Zip in Frameworks */,
330F69032DC03DF500D8C35D /* NimbleViews in Frameworks */,
3305BBAC2DB8944200660D45 /* Vapor in Frameworks */,
3346F83B2DC6C6D100C7D508 /* NukeUI in Frameworks */,
336D43982DB7454A00206400 /* MobileCoreServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
57AC110000000000000000B2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
3371F7302DA9ECDD00281AC6 /* Frameworks */ = {
isa = PBXGroup;
children = (
336D43972DB7454A00206400 /* MobileCoreServices.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
3379C1B02DA869A1004372DA = {
isa = PBXGroup;
children = (
3379C1BB2DA869A1004372DA /* FTStore */,
57AC110000000000000000A2 /* FTStoreActivity */,
3371F7302DA9ECDD00281AC6 /* Frameworks */,
3379C1BA2DA869A1004372DA /* Products */,
570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */,
);
sourceTree = "<group>";
};
3379C1BA2DA869A1004372DA /* Products */ = {
isa = PBXGroup;
children = (
3379C1B92DA869A1004372DA /* FTStore.app */,
57AC110000000000000000A1 /* FTStoreActivity.appex */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
3379C1B82DA869A1004372DA /* FTStore */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3379C1CD2DA869A3004372DA /* Build configuration list for PBXNativeTarget "FTStore" */;
buildPhases = (
3379C1B52DA869A1004372DA /* Sources */,
3379C1B62DA869A1004372DA /* Frameworks */,
3379C1B72DA869A1004372DA /* Resources */,
57AC110000000000000000B7 /* Embed Foundation Extensions */,
3379BC662DC9DB32004372DA /* Copy Acknowledgements */,
57AC110000000000000000C1 /* Build FilePickerFix */,
);
buildRules = (
);
dependencies = (
339776072DC9D0F800642FFB /* PBXTargetDependency */,
57AC110000000000000000BA /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
3379C1BB2DA869A1004372DA /* FTStore */,
);
name = FTStore;
packageProductDependencies = (
3371F7312DA9ECDD00281AC6 /* Zip */,
33CF13382DB5ACFB0021D4C5 /* SWCompression */,
3305BBAB2DB8944200660D45 /* Vapor */,
330F68FB2DBF7C8600D8C35D /* NimbleExtensions */,
330F68FD2DBF7C8600D8C35D /* NimbleViews */,
330F69002DC03DF500D8C35D /* NimbleExtensions */,
330F69022DC03DF500D8C35D /* NimbleViews */,
3346F5C12DC329A200C7D508 /* ZsignSwift */,
3346F83A2DC6C6D100C7D508 /* NukeUI */,
3346F8482DC6D64800C7D508 /* NimbleJSON */,
33693A072DC8BF5B00730215 /* AltSourceKit */,
3349E7662DEFB46F00E317ED /* IDeviceSwift */,
);
productName = FTStore;
productReference = 3379C1B92DA869A1004372DA /* FTStore.app */;
productType = "com.apple.product-type.application";
};
57AC110000000000000000B0 /* FTStoreActivity */ = {
isa = PBXNativeTarget;
buildConfigurationList = 57AC110000000000000000B4 /* Build configuration list for PBXNativeTarget "FTStoreActivity" */;
buildPhases = (
57AC110000000000000000B1 /* Sources */,
57AC110000000000000000B2 /* Frameworks */,
57AC110000000000000000B3 /* Resources */,
);
buildRules = (
);
dependencies = (
);
fileSystemSynchronizedGroups = (
57AC110000000000000000A2 /* FTStoreActivity */,
);
name = FTStoreActivity;
packageProductDependencies = (
);
productName = FTStoreActivity;
productReference = 57AC110000000000000000A1 /* FTStoreActivity.appex */;
productType = "com.apple.product-type.app-extension";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
3379C1B12DA869A1004372DA /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1630;
LastUpgradeCheck = 1630;
TargetAttributes = {
3379C1B82DA869A1004372DA = {
CreatedOnToolsVersion = 16.2;
LastSwiftMigration = 1620;
};
57AC110000000000000000B0 = {
CreatedOnToolsVersion = 16.2;
};
};
};
buildConfigurationList = 3379C1B42DA869A1004372DA /* Build configuration list for PBXProject "FTStore" */;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
de,
fr,
ru,
es,
vi,
tr,
id,
pl,
it,
"zh-Hans",
ar,
cs,
"pt-BR",
fa,
th,
);
mainGroup = 3379C1B02DA869A1004372DA;
minimizedProjectReferenceProxies = 1;
packageReferences = (
3371F5152DA91FDC00281AC6 /* XCLocalSwiftPackageReference "Zsign" */,
3371F6F52DA9EBA500281AC6 /* XCRemoteSwiftPackageReference "Zip" */,
33CF13372DB5ACFB0021D4C5 /* XCRemoteSwiftPackageReference "SWCompression" */,
3305BBAA2DB8944200660D45 /* XCRemoteSwiftPackageReference "vapor" */,
330F68FF2DC03DF400D8C35D /* XCLocalSwiftPackageReference "NimbleKit" */,
3346F8372DC6C68300C7D508 /* XCRemoteSwiftPackageReference "Nuke" */,
33693A062DC8BF5B00730215 /* XCLocalSwiftPackageReference "AltSourceKit" */,
339776052DC9D05C00642FFB /* XCRemoteSwiftPackageReference "LicensePlist" */,
3349E7652DEFB46F00E317ED /* XCLocalSwiftPackageReference "IDeviceKitten" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = 3379C1BA2DA869A1004372DA /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
3379C1B82DA869A1004372DA /* FTStore */,
57AC110000000000000000B0 /* FTStoreActivity */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
3379C1B72DA869A1004372DA /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
570920BE2F98A4F0008C4A83 /* FTStore.xcconfig in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
57AC110000000000000000B3 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3379BC662DC9DB32004372DA /* Copy Acknowledgements */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Copy Acknowledgements";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "echo \"Will copy acknowledgements\"\n\nACKNOWLEDGEMENTS_DIR=${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/com.mono0926.LicensePlist.Output\nDESTINATION_PATH=${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Settings.bundle/\n\ncp -r \"${ACKNOWLEDGEMENTS_DIR}\"/app.ftstore \"${DESTINATION_PATH}\"\ncp -r \"${ACKNOWLEDGEMENTS_DIR}\"/app.ftstore.plist \"${DESTINATION_PATH}\"\nrm -rf \"${ACKNOWLEDGEMENTS_DIR}\"\n";
};
57AC110000000000000000C1 /* Build FilePickerFix */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"$(SRCROOT)/Tweaks/FilePickerFix/FilePickerFix.m",
);
name = "Build FilePickerFix";
outputPaths = (
"$(BUILT_PRODUCTS_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/FilePickerFix.dylib",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "set -u\nOUTPUT=\"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FilePickerFix.dylib\"\nSOURCE=\"${SRCROOT}/Tweaks/FilePickerFix/FilePickerFix.m\"\nmkdir -p \"$(dirname \"${OUTPUT}\")\"\n\n# Deliberately not fatal. The dylib is an optional signing extra, and a\n# toolchain that cannot produce it must not take the whole app build down\n# with it; TweakHandler reports the missing resource when the option is on.\nSDK=\"$(xcrun --sdk iphoneos --show-sdk-path 2>/dev/null || true)\"\nif [ -z \"${SDK}\" ]; then\n echo \"warning: no iphoneos SDK, skipping FilePickerFix.dylib\"\n exit 0\nfi\n\nxcrun --sdk iphoneos clang -dynamiclib -fobjc-arc -Os \\\n -target arm64-apple-ios14.0 \\\n -isysroot \"${SDK}\" \\\n -Wno-deprecated-declarations \\\n -framework Foundation -framework UIKit \\\n -install_name @executable_path/Frameworks/FilePickerFix.dylib \\\n -o \"${OUTPUT}\" \"${SOURCE}\" \\\n || echo \"warning: FilePickerFix.dylib failed to build, the Fix File Picker option will be unavailable\"\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
3379C1B52DA869A1004372DA /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
57AC110000000000000000B1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
339776072DC9D0F800642FFB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
productRef = 339776062DC9D0F800642FFB /* LicensePlistBuildTool */;
};
57AC110000000000000000BA /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
platformFilter = ios;
target = 57AC110000000000000000B0 /* FTStoreActivity */;
targetProxy = 57AC110000000000000000B9 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
3379C1CB2DA869A3004372DA /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */;
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;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
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;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
3379C1CC2DA869A3004372DA /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */;
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;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = "";
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;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_EMIT_LOC_STRINGS = YES;
};
name = Release;
};
3379C1CE2DA869A3004372DA /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "FTStore/Supporting Files/FTStore.entitlements";
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Manual;
COMPRESS_PNG_FILES = NO;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
ENABLE_PREVIEWS = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = FTStore/Resources/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = FTStore;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright (c) 2024 Samara M";
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES;
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES;
INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen.storyboard";
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault;
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/FTStore/Resources",
"$(PROJECT_DIR)/FTStore/Resources/idevice",
);
MACOSX_DEPLOYMENT_TARGET = 15.2;
MARKETING_VERSION = "$(FTSTORE_PROJECT_VERSION)-debug";
PRODUCT_BUNDLE_IDENTIFIER = "$(FTSTORE_PRODUCT_BUNDLE_IDENTIFIER)$(FTSTORE_DISAMBIGUATOR)";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = auto;
STRIP_INSTALLED_PRODUCT = NO;
STRIP_PNG_TEXT = NO;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = YES;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "FTStore/Supporting Files/FTStore-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 16.0;
XROS_DEPLOYMENT_TARGET = 2.2;
};
name = Debug;
};
3379C1CF2DA869A3004372DA /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "";
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "FTStore/Supporting Files/FTStore.entitlements";
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Manual;
COMPRESS_PNG_FILES = NO;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
ENABLE_PREVIEWS = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_PREPROCESSOR_DEFINITIONS = "";
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = FTStore/Resources/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = FTStore;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright (c) 2024 Samara M";
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES;
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES;
"INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES;
INFOPLIST_KEY_UILaunchStoryboardName = "Launch Screen.storyboard";
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault;
"INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault;
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
INFOPLIST_KEY_UISupportsDocumentBrowser = YES;
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/FTStore/Resources",
"$(PROJECT_DIR)/FTStore/Resources/idevice",
);
MACOSX_DEPLOYMENT_TARGET = 15.2;
MARKETING_VERSION = "$(FTSTORE_PROJECT_VERSION)";
PRODUCT_BUNDLE_IDENTIFIER = "$(FTSTORE_PRODUCT_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = auto;
STRIPFLAGS = "-rSTx";
STRIP_PNG_TEXT = NO;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = YES;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "FTStore/Supporting Files/FTStore-Bridging-Header.h";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TVOS_DEPLOYMENT_TARGET = 16.0;
XROS_DEPLOYMENT_TARGET = 2.2;
};
name = Release;
};
57AC110000000000000000B5 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = FTStoreActivity/Info.plist;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright (c) 2024 Samara M";
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD_RUNPATH_SEARCH_PATHS = (
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = "$(FTSTORE_PROJECT_VERSION)-debug";
PRODUCT_BUNDLE_IDENTIFIER = "$(FTSTORE_PRODUCT_BUNDLE_IDENTIFIER)$(FTSTORE_DISAMBIGUATOR).activity";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = auto;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
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;
};
57AC110000000000000000B6 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 570920BD2F98A4F0008C4A83 /* FTStore.xcconfig */;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = "";
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = FTStoreActivity/Info.plist;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright (c) 2024 Samara M";
IPHONEOS_DEPLOYMENT_TARGET = 16.1;
LD_RUNPATH_SEARCH_PATHS = (
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = "$(FTSTORE_PROJECT_VERSION)";
PRODUCT_BUNDLE_IDENTIFIER = "$(FTSTORE_PRODUCT_BUNDLE_IDENTIFIER).activity";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SDKROOT = auto;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
3379C1B42DA869A1004372DA /* Build configuration list for PBXProject "FTStore" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3379C1CB2DA869A3004372DA /* Debug */,
3379C1CC2DA869A3004372DA /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
3379C1CD2DA869A3004372DA /* Build configuration list for PBXNativeTarget "FTStore" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3379C1CE2DA869A3004372DA /* Debug */,
3379C1CF2DA869A3004372DA /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
57AC110000000000000000B4 /* Build configuration list for PBXNativeTarget "FTStoreActivity" */ = {
isa = XCConfigurationList;
buildConfigurations = (
57AC110000000000000000B5 /* Debug */,
57AC110000000000000000B6 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCLocalSwiftPackageReference section */
330F68FF2DC03DF400D8C35D /* XCLocalSwiftPackageReference "NimbleKit" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = NimbleKit;
};
3349E7652DEFB46F00E317ED /* XCLocalSwiftPackageReference "IDeviceKitten" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = IDeviceKitten;
};
33693A062DC8BF5B00730215 /* XCLocalSwiftPackageReference "AltSourceKit" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = AltSourceKit;
};
3371F5152DA91FDC00281AC6 /* XCLocalSwiftPackageReference "Zsign" */ = {
isa = XCLocalSwiftPackageReference;
relativePath = Zsign;
};
/* End XCLocalSwiftPackageReference section */
/* Begin XCRemoteSwiftPackageReference section */
3305BBAA2DB8944200660D45 /* XCRemoteSwiftPackageReference "vapor" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/vapor/vapor";
requirement = {
kind = exactVersion;
version = 4.104.0;
};
};
3346F8372DC6C68300C7D508 /* XCRemoteSwiftPackageReference "Nuke" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/kean/Nuke";
requirement = {
kind = exactVersion;
version = 12.8.0;
};
};
3371F6F52DA9EBA500281AC6 /* XCRemoteSwiftPackageReference "Zip" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/marmelroy/Zip";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 2.1.2;
};
};
339776052DC9D05C00642FFB /* XCRemoteSwiftPackageReference "LicensePlist" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/mono0926/LicensePlist";
requirement = {
kind = exactVersion;
version = 3.27.1;
};
};
33CF13372DB5ACFB0021D4C5 /* XCRemoteSwiftPackageReference "SWCompression" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/tsolomko/SWCompression";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 4.8.6;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
3305BBAB2DB8944200660D45 /* Vapor */ = {
isa = XCSwiftPackageProductDependency;
package = 3305BBAA2DB8944200660D45 /* XCRemoteSwiftPackageReference "vapor" */;
productName = Vapor;
};
330F68FB2DBF7C8600D8C35D /* NimbleExtensions */ = {
isa = XCSwiftPackageProductDependency;
productName = NimbleExtensions;
};
330F68FD2DBF7C8600D8C35D /* NimbleViews */ = {
isa = XCSwiftPackageProductDependency;
productName = NimbleViews;
};
330F69002DC03DF500D8C35D /* NimbleExtensions */ = {
isa = XCSwiftPackageProductDependency;
productName = NimbleExtensions;
};
330F69022DC03DF500D8C35D /* NimbleViews */ = {
isa = XCSwiftPackageProductDependency;
productName = NimbleViews;
};
3346F5C12DC329A200C7D508 /* ZsignSwift */ = {
isa = XCSwiftPackageProductDependency;
productName = ZsignSwift;
};
3346F83A2DC6C6D100C7D508 /* NukeUI */ = {
isa = XCSwiftPackageProductDependency;
package = 3346F8372DC6C68300C7D508 /* XCRemoteSwiftPackageReference "Nuke" */;
productName = NukeUI;
};
3346F8482DC6D64800C7D508 /* NimbleJSON */ = {
isa = XCSwiftPackageProductDependency;
productName = NimbleJSON;
};
3349E7662DEFB46F00E317ED /* IDeviceSwift */ = {
isa = XCSwiftPackageProductDependency;
productName = IDeviceSwift;
};
33693A072DC8BF5B00730215 /* AltSourceKit */ = {
isa = XCSwiftPackageProductDependency;
productName = AltSourceKit;
};
3371F7312DA9ECDD00281AC6 /* Zip */ = {
isa = XCSwiftPackageProductDependency;
package = 3371F6F52DA9EBA500281AC6 /* XCRemoteSwiftPackageReference "Zip" */;
productName = Zip;
};
339776062DC9D0F800642FFB /* LicensePlistBuildTool */ = {
isa = XCSwiftPackageProductDependency;
package = 339776052DC9D05C00642FFB /* XCRemoteSwiftPackageReference "LicensePlist" */;
productName = "plugin:LicensePlistBuildTool";
};
33CF13382DB5ACFB0021D4C5 /* SWCompression */ = {
isa = XCSwiftPackageProductDependency;
package = 33CF13372DB5ACFB0021D4C5 /* XCRemoteSwiftPackageReference "SWCompression" */;
productName = SWCompression;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 3379C1B12DA869A1004372DA /* Project object */;
}