[AltBackup]: Included as target dependency of SideStore build and add run script to make build AltBackup.ipa as part of build

This commit is contained in:
Magesh K
2024-12-14 01:47:16 +05:30
parent 90c6c64e71
commit 182dfb3c75
4 changed files with 121 additions and 1 deletions

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>XYZ0123456.com.SideStore.SideStore.AltBackup</string>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.team-identifier</key>
<string>XYZ0123456</string>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.SideStore.SideStore</string>
</array>
<key>get-task-allow</key>
<true/>
</dict>
</plist>

54
AltStore.xcodeproj/project.pbxproj Normal file → Executable file
View File

@@ -64,6 +64,8 @@
A8945AA62D059B6100D86CBE /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8945AA52D059B6100D86CBE /* Roxas.framework */; }; A8945AA62D059B6100D86CBE /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8945AA52D059B6100D86CBE /* Roxas.framework */; };
A8A543302D04F14400D72399 /* libfragmentzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A8A5432F2D04F0C100D72399 /* libfragmentzip.a */; }; A8A543302D04F14400D72399 /* libfragmentzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A8A5432F2D04F0C100D72399 /* libfragmentzip.a */; };
A8BB34E52D04EC8E000A8B4D /* minimuxer-helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = A809F6A52D04DA1900F0F0F3 /* minimuxer-helpers.swift */; }; A8BB34E52D04EC8E000A8B4D /* minimuxer-helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = A809F6A52D04DA1900F0F0F3 /* minimuxer-helpers.swift */; };
A8D484D02D0CCA8A002C691D /* AltSign-Static in Frameworks */ = {isa = PBXBuildFile; productRef = A8D484CF2D0CCA8A002C691D /* AltSign-Static */; };
A8D484D42D0CCAC4002C691D /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = A8D484D32D0CCAC4002C691D /* OpenSSL */; };
A8F838922D048E8F00ED425D /* libEmotionalDamage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19104DB22909C06C00C49C7B /* libEmotionalDamage.a */; }; A8F838922D048E8F00ED425D /* libEmotionalDamage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19104DB22909C06C00C49C7B /* libEmotionalDamage.a */; };
A8F838932D048E8F00ED425D /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FAB290A5D92001A3B7C /* libminimuxer.a */; }; A8F838932D048E8F00ED425D /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FAB290A5D92001A3B7C /* libminimuxer.a */; };
A8F838942D048ECE00ED425D /* libimobiledevice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BF45872B2298D31600BD7491 /* libimobiledevice.a */; }; A8F838942D048ECE00ED425D /* libimobiledevice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BF45872B2298D31600BD7491 /* libimobiledevice.a */; };
@@ -472,6 +474,13 @@
remoteGlobalIDString = B315FDCE2866CDD3002E243C; remoteGlobalIDString = B315FDCE2866CDD3002E243C;
remoteInfo = "fragmentzip-iOS"; remoteInfo = "fragmentzip-iOS";
}; };
A8E00D3D2D0C95B5000DD2C7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFD247622284B9A500981D42 /* Project object */;
proxyType = 1;
remoteGlobalIDString = BF58047A246A28F7008AE704;
remoteInfo = AltBackup;
};
BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = { BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = BFD247622284B9A500981D42 /* Project object */; containerPortal = BFD247622284B9A500981D42 /* Project object */;
@@ -997,7 +1006,9 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
A8D484D42D0CCAC4002C691D /* OpenSSL in Frameworks */,
BF580498246A3D19008AE704 /* UIKit.framework in Frameworks */, BF580498246A3D19008AE704 /* UIKit.framework in Frameworks */,
A8D484D02D0CCA8A002C691D /* AltSign-Static in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@@ -2250,6 +2261,7 @@
99F87D0629D8B51400B40039 /* ShellScript */, 99F87D0629D8B51400B40039 /* ShellScript */,
BFD247662284B9A500981D42 /* Sources */, BFD247662284B9A500981D42 /* Sources */,
BFD247672284B9A500981D42 /* Frameworks */, BFD247672284B9A500981D42 /* Frameworks */,
A8E00D3F2D0C9C6D000DD2C7 /* Run Script */,
BFD247682284B9A500981D42 /* Resources */, BFD247682284B9A500981D42 /* Resources */,
BF088D2B2501A087008082D9 /* Embed Frameworks */, BF088D2B2501A087008082D9 /* Embed Frameworks */,
BF98917B250AABF4002ACF50 /* Embed Foundation Extensions */, BF98917B250AABF4002ACF50 /* Embed Foundation Extensions */,
@@ -2259,6 +2271,7 @@
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
A8E00D3E2D0C95B5000DD2C7 /* PBXTargetDependency */,
191E5FB3290A5D9B001A3B7C /* PBXTargetDependency */, 191E5FB3290A5D9B001A3B7C /* PBXTargetDependency */,
19104DBA2909C0F200C49C7B /* PBXTargetDependency */, 19104DBA2909C0F200C49C7B /* PBXTargetDependency */,
BF66EE842501AE50007EE018 /* PBXTargetDependency */, BF66EE842501AE50007EE018 /* PBXTargetDependency */,
@@ -2517,6 +2530,24 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SideStore/Pods-SideStore-frameworks.sh\"\n"; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SideStore/Pods-SideStore-frameworks.sh\"\n";
showEnvVarsInLog = 0; showEnvVarsInLog = 0;
}; };
A8E00D3F2D0C9C6D000DD2C7 /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Run Script";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "#!/bin/sh\n\necho \"Build directory: $BUILD_DIR\"\necho \"Configuration build directory: $CONFIGURATION_BUILD_DIR\"\n\n# exit 0\n\n# Define the path to your Makefile\nMAKEFILE_PATH=\"${PROJECT_DIR}/\"\n\n# Navigate to the directory containing the Makefile\ncd \"$MAKEFILE_PATH\" || exit 1\n\n# Run the make target 'ipa-altbackup'\nmake -B ipa-altbackup\n\n# Ensure that the ipa-altbackup process finishes before continuing\nif [ $? -ne 0 ]; then\n echo \"Error: ipa-altbackup failed\"\n exit 1\nelse\n echo \"ipa-altbackup completed successfully\"\nfi\n# Type a script or drag a script file from your workspace to insert its path.\n";
};
AEDB4E9409D2CEE1EA126980 /* [CP] Check Pods Manifest.lock */ = { AEDB4E9409D2CEE1EA126980 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -2942,6 +2973,11 @@
name = "minimuxer-staticlib"; name = "minimuxer-staticlib";
targetProxy = A809F6A02D04D7CB00F0F0F3 /* PBXContainerItemProxy */; targetProxy = A809F6A02D04D7CB00F0F0F3 /* PBXContainerItemProxy */;
}; };
A8E00D3E2D0C95B5000DD2C7 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = BF58047A246A28F7008AE704 /* AltBackup */;
targetProxy = A8E00D3D2D0C95B5000DD2C7 /* PBXContainerItemProxy */;
};
BF66EE842501AE50007EE018 /* PBXTargetDependency */ = { BF66EE842501AE50007EE018 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
target = BF66EE7D2501AE50007EE018 /* AltStoreCore */; target = BF66EE7D2501AE50007EE018 /* AltStoreCore */;
@@ -3182,9 +3218,11 @@
CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements; CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)";
ENABLE_DEBUG_DYLIB = NO;
INFOPLIST_FILE = AltBackup/Info.plist; INFOPLIST_FILE = AltBackup/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@@ -3203,13 +3241,17 @@
CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements; CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)";
ENABLE_DEBUG_DYLIB = NO;
INFOPLIST_FILE = AltBackup/Info.plist; INFOPLIST_FILE = AltBackup/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)"; PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_IDENTIFIER)";
"PRODUCT_BUNDLE_IDENTIFIER[sdk=iphoneos*]" = com.SideStore.SideStore.AltBackup;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
@@ -3727,6 +3769,16 @@
package = A82067C22D03E0DE00645C0D /* XCRemoteSwiftPackageReference "SemanticVersion" */; package = A82067C22D03E0DE00645C0D /* XCRemoteSwiftPackageReference "SemanticVersion" */;
productName = SemanticVersion; productName = SemanticVersion;
}; };
A8D484CF2D0CCA8A002C691D /* AltSign-Static */ = {
isa = XCSwiftPackageProductDependency;
package = A81176FF2D0B3C6C00D6C122 /* XCRemoteSwiftPackageReference "AltSign" */;
productName = "AltSign-Static";
};
A8D484D32D0CCAC4002C691D /* OpenSSL */ = {
isa = XCSwiftPackageProductDependency;
package = A81176FC2D0B3BAB00D6C122 /* XCRemoteSwiftPackageReference "OpenSSL" */;
productName = OpenSSL;
};
/* End XCSwiftPackageProductDependency section */ /* End XCSwiftPackageProductDependency section */
/* Begin XCVersionGroup section */ /* Begin XCVersionGroup section */

Binary file not shown.

50
Makefile Normal file → Executable file
View File

@@ -179,3 +179,53 @@ ipa:
cp -R archive.xcarchive/Products/Applications/SideStore.app/ Payload/SideStore.app/ cp -R archive.xcarchive/Products/Applications/SideStore.app/ Payload/SideStore.app/
zip -r SideStore.ipa Payload zip -r SideStore.ipa Payload
# Global Variables
CONFIGURATION_BUILD_DIR ?= # Ensure this is set by the environment or passed as an argument
ALT_APP = build/altbackup.xcarchive/Products/Applications/AltBackup.app
ALT_APP_DSYM = build/altbackup.xcarchive/dSYMs/AltBackup.app.dSYM
copy-altbackup:
@echo " Copying AltBackup.app from '$(CONFIGURATION_BUILD_DIR)/AltBackup.app'"
@if [ ! -d "$(CONFIGURATION_BUILD_DIR)/AltBackup.app" ]; then \
echo "Error: AltBackup.app not found in '$(CONFIGURATION_BUILD_DIR)'"; \
echo ' Environment variable CONFIGURATION_BUILD_DIR = $(CONFIGURATION_BUILD_DIR)'; \
echo ' Please set it to valid build artifacts directory'; \
echo ''; \
exit 1; \
fi
@echo " Copying AltBackup.dSYM from '$(CONFIGURATION_BUILD_DIR)/AltBackup.app.dSYM'"
@if [ ! -d "$(CONFIGURATION_BUILD_DIR)/AltBackup.app.dSYM" ]; then \
echo "Error: AltBackup.dSYM not found in '$(CONFIGURATION_BUILD_DIR)'"; \
echo ' Environment variable CONFIGURATION_BUILD_DIR = $(CONFIGURATION_BUILD_DIR)'; \
echo ' Please set it to valid build artifacts directory'; \
echo ''; \
exit 1; \
fi
@# If the artifacts are found, copy them to the target locations
@rm -rf $(ALT_APP)
@rm -rf $(ALT_APP_DSYM)
@mkdir -p $(ALT_APP)
@mkdir -p $(ALT_APP_DSYM)
@cp -R "$(CONFIGURATION_BUILD_DIR)/AltBackup.app" "$(ALT_APP)/.."
@cp -R "$(CONFIGURATION_BUILD_DIR)/AltBackup.app.dSYM" "$(ALT_APP_DSYM)/.."
@echo ""
# fakesign-altbackup: copy-altbackup
# @echo " Adding homebrew binaries to path and invoke ldid"
# @export PATH="/usr/local/bin:/opt/homebrew/bin:$$PATH"; \
# ldid -SAltBackup/Resources/ReleaseEntitlements.plist $(ALT_APP)
# @echo " fakesign completed"
# @echo ""
# ipa-altbackup: fakesign-altbackup
ipa-altbackup:
@echo " Creating IPA for AltBackup"
@rm -rf build/altbackup.xcarchive/Payload
@mkdir -p build/altbackup.xcarchive/Payload/AltBackup.app
@chmod -R 777 build/altbackup.xcarchive/Payload/AltBackup.app || true
@cp -R $(ALT_APP) build/altbackup.xcarchive/Payload
@cd build/altbackup.xcarchive && zip -r ../../build/AltBackup.ipa Payload
@cp build/AltBackup.ipa AltStore/Resources
@echo " IPA created: AltStore/Resources/AltBackup.ipa"