Build iOS App / Build .ipa and publish source (push) Successful in 31s
Sideloaded apps can't use APNs (no push entitlement without Apple signing), so deliver notifications via an iOS BGAppRefreshTask that polls the monitored repos every ~15 min and fires local notifications (no Apple push needed): - new PRs that appear in the open set - CI status changes on existing PRs Persistence: NotificationState tracks announced PR ids + last-known CI status so we only fire on actual changes, not every poll. AppDelegate registers the background task and reschedules the next one. Info.plist gets UIBackgroundModes fetch + the BGTask identifier. Settings gains a Notifications toggle; also poll after a foreground inbox load so state seeds and changes are caught promptly. Bump to 3.6.
262 lines
7.6 KiB
Plaintext
262 lines
7.6 KiB
Plaintext
// !$*UTF8*$!
|
|
{
|
|
archiveVersion = 1;
|
|
classes = {
|
|
};
|
|
objectVersion = 77;
|
|
objects = {
|
|
|
|
/* Begin PBXFileSystemSynchronizedRootGroup section */
|
|
AB1234567890ABCDEF000001 /* GiteaPR */ = {
|
|
isa = PBXFileSystemSynchronizedRootGroup;
|
|
explicitFileTypes = {
|
|
};
|
|
explicitFolders = (
|
|
);
|
|
path = GiteaPR;
|
|
sourceTree = "<group>";
|
|
};
|
|
/* End PBXFileSystemSynchronizedRootGroup section */
|
|
|
|
/* Begin PBXGroup section */
|
|
AB1234567890ABCDEF000002 = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
AB1234567890ABCDEF000001 /* GiteaPR */,
|
|
AB1234567890ABCDEF000003 /* Products */,
|
|
);
|
|
sourceTree = "<group>";
|
|
};
|
|
AB1234567890ABCDEF000003 /* Products */ = {
|
|
isa = PBXGroup;
|
|
children = (
|
|
AB1234567890ABCDEF000004 /* GiteaPR.app */,
|
|
);
|
|
name = Products;
|
|
sourceTree = "<group>";
|
|
};
|
|
/* End PBXGroup section */
|
|
|
|
/* Begin PBXNativeTarget section */
|
|
AB1234567890ABCDEF000005 /* GiteaPR */ = {
|
|
isa = PBXNativeTarget;
|
|
buildConfigurationList = AB1234567890ABCDEF000006 /* Build configuration list for PBXNativeTarget "GiteaPR" */;
|
|
buildPhases = (
|
|
AB1234567890ABCDEF000007 /* Sources */,
|
|
AB1234567890ABCDEF000008 /* Frameworks */,
|
|
AB1234567890ABCDEF000009 /* Resources */,
|
|
);
|
|
buildRules = (
|
|
);
|
|
dependencies = (
|
|
);
|
|
fileSystemSynchronizedGroups = (
|
|
AB1234567890ABCDEF000001 /* GiteaPR */,
|
|
);
|
|
name = "GiteaPR";
|
|
packageProductDependencies = (
|
|
);
|
|
productName = "GiteaPR";
|
|
productReference = AB1234567890ABCDEF000004 /* GiteaPR.app */;
|
|
productType = "com.apple.product-type.application";
|
|
};
|
|
/* End PBXNativeTarget section */
|
|
|
|
/* Begin PBXProject section */
|
|
AB1234567890ABCDEF00000A /* Project object */ = {
|
|
isa = PBXProject;
|
|
attributes = {
|
|
BuildIndependentTargetsInParallel = 1;
|
|
LastSwiftUpdateCheck = 1600;
|
|
LastUpgradeCheck = 1600;
|
|
TargetAttributes = {
|
|
AB1234567890ABCDEF000005 = {
|
|
CreatedOnToolsVersion = 16.0;
|
|
};
|
|
};
|
|
};
|
|
buildConfigurationList = AB1234567890ABCDEF00000B /* Build configuration list for PBXProject "GiteaPR" */;
|
|
compatibilityVersion = "Xcode 15.0";
|
|
developmentRegion = en;
|
|
hasScannedForEncodings = 0;
|
|
knownRegions = (
|
|
en,
|
|
Base,
|
|
);
|
|
mainGroup = AB1234567890ABCDEF000002;
|
|
minimizedProjectReferenceProxies = 1;
|
|
preferredProjectObjectVersion = 77;
|
|
productRefGroup = AB1234567890ABCDEF000003 /* Products */;
|
|
projectDirPath = "";
|
|
projectRoot = "";
|
|
targets = (
|
|
AB1234567890ABCDEF000005 /* GiteaPR */,
|
|
);
|
|
};
|
|
/* End PBXProject section */
|
|
|
|
/* Begin PBXFileReference section */
|
|
AB1234567890ABCDEF000004 /* GiteaPR.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "GiteaPR.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
/* End PBXFileReference section */
|
|
|
|
/* Begin PBXSourcesBuildPhase section */
|
|
AB1234567890ABCDEF000007 /* Sources */ = {
|
|
isa = PBXSourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXSourcesBuildPhase section */
|
|
|
|
/* Begin PBXFrameworksBuildPhase section */
|
|
AB1234567890ABCDEF000008 /* Frameworks */ = {
|
|
isa = PBXFrameworksBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXFrameworksBuildPhase section */
|
|
|
|
/* Begin PBXResourcesBuildPhase section */
|
|
AB1234567890ABCDEF000009 /* Resources */ = {
|
|
isa = PBXResourcesBuildPhase;
|
|
buildActionMask = 2147483647;
|
|
files = (
|
|
);
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
};
|
|
/* End PBXResourcesBuildPhase section */
|
|
|
|
/* Begin XCBuildConfiguration section */
|
|
AB1234567890ABCDEF00000C /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
CLANG_ANALYZER_NONNULL = YES;
|
|
CLANG_ENABLE_MODULES = YES;
|
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
COPY_PHASE_STRIP = NO;
|
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
ENABLE_TESTABILITY = YES;
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
GCC_OPTIMIZATION_LEVEL = 0;
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
"DEBUG=1",
|
|
"$(inherited)",
|
|
);
|
|
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
MTL_FAST_MATH = YES;
|
|
ONLY_ACTIVE_ARCH = YES;
|
|
SDKROOT = iphoneos;
|
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
};
|
|
name = Debug;
|
|
};
|
|
AB1234567890ABCDEF00000D /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
CLANG_ANALYZER_NONNULL = YES;
|
|
CLANG_ENABLE_MODULES = YES;
|
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
COPY_PHASE_STRIP = NO;
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
ENABLE_NS_ASSERTIONS = NO;
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
|
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
MTL_FAST_MATH = YES;
|
|
SDKROOT = iphoneos;
|
|
SWIFT_COMPILATION_MODE = wholemodule;
|
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
|
VALIDATE_PRODUCT = YES;
|
|
};
|
|
name = Release;
|
|
};
|
|
AB1234567890ABCDEF00000E /* Debug */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
CODE_SIGN_STYLE = Automatic;
|
|
CURRENT_PROJECT_VERSION = 27;
|
|
DEVELOPMENT_TEAM = "";
|
|
GENERATE_INFOPLIST_FILE = YES;
|
|
INFOPLIST_KEY_CFBundleDisplayName = "GiteaPR";
|
|
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
|
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
|
INFOPLIST_KEY_UIBackgroundModes = "fetch";
|
|
INFOPLIST_KEY_BGTaskSchedulerPermittedIdentifiers = "com.bueso.giteapr.refresh";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
);
|
|
MARKETING_VERSION = 3.6;
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.bueso.giteapr;
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
|
SWIFT_VERSION = 5.0;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Debug;
|
|
};
|
|
AB1234567890ABCDEF00000F /* Release */ = {
|
|
isa = XCBuildConfiguration;
|
|
buildSettings = {
|
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
CODE_SIGN_STYLE = Automatic;
|
|
CURRENT_PROJECT_VERSION = 27;
|
|
DEVELOPMENT_TEAM = "";
|
|
GENERATE_INFOPLIST_FILE = YES;
|
|
INFOPLIST_KEY_CFBundleDisplayName = "GiteaPR";
|
|
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
|
|
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
|
INFOPLIST_KEY_UIBackgroundModes = "fetch";
|
|
INFOPLIST_KEY_BGTaskSchedulerPermittedIdentifiers = "com.bueso.giteapr.refresh";
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
"$(inherited)",
|
|
"@executable_path/Frameworks",
|
|
);
|
|
MARKETING_VERSION = 3.6;
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.bueso.giteapr;
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
|
SWIFT_VERSION = 5.0;
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
};
|
|
name = Release;
|
|
};
|
|
/* End XCBuildConfiguration section */
|
|
|
|
/* Begin XCConfigurationList section */
|
|
AB1234567890ABCDEF00000B /* Build configuration list for PBXProject "GiteaPR" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
AB1234567890ABCDEF00000C /* Debug */,
|
|
AB1234567890ABCDEF00000D /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Release;
|
|
};
|
|
AB1234567890ABCDEF000006 /* Build configuration list for PBXNativeTarget "GiteaPR" */ = {
|
|
isa = XCConfigurationList;
|
|
buildConfigurations = (
|
|
AB1234567890ABCDEF00000E /* Debug */,
|
|
AB1234567890ABCDEF00000F /* Release */,
|
|
);
|
|
defaultConfigurationIsVisible = 0;
|
|
defaultConfigurationName = Release;
|
|
};
|
|
/* End XCConfigurationList section */
|
|
};
|
|
rootObject = AB1234567890ABCDEF00000A /* Project object */;
|
|
}
|