From 3f959f111cd2d42ecf89443a98099d20b9a92204 Mon Sep 17 00:00:00 2001 From: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> Date: Fri, 27 Dec 2024 00:25:52 -0800 Subject: [PATCH 01/13] Try adding backwards compatibility in trusted Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> --- trustedapps.json | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/trustedapps.json b/trustedapps.json index 608c628c..fd3a5af9 100644 --- a/trustedapps.json +++ b/trustedapps.json @@ -48,5 +48,54 @@ "identifier": "thatstel.la.altsource", "sourceURL": "https://alt.thatstel.la/" } + ], + "sources": [ + { + "identifier": "io.sidestore.example" + }, + { + "identifier": "com.sidestoreapps.community", + "sourceURL": "https://community-apps.sidestore.io/sidecommunity.json" + }, + { + "identifier": "org.provenance-emu.provenance", + "sourceURL": "https://provenance-emu.com/apps.json" + }, + { + "identifier": "me.oatmealdome.altstore", + "sourceURL": "https://altstore.oatmealdome.me" + }, + { + "identifier": "com.utmapp.repos.UTM", + "sourceURL": "https://alt.getutm.app" + }, + { + "identifier": "com.flyinghead.source", + "sourceURL": "https://flyinghead.github.io/flycast-builds/altstore.json" + }, + { + "identifier": "dev.crystall1ne.repos.PojavLauncher", + "sourceURL": "https://alt.crystall1ne.dev" + }, + { + "identifier": "eu.pokemmo.altstore", + "sourceURL": "https://pokemmo.eu/altstore/" + }, + { + "identifier": "dev.theodyssey.sidestore", + "sourceURL": "https://theodyssey.dev/altstore/odysseysource.json" + }, + { + "identifier": "stream.yattee", + "sourceURL": "https://repos.yattee.stream/alt/apps.json" + }, + { + "identifier": "com.litritt.litsource", + "sourceURL": "https://altstore.ignitedemulator.com/" + }, + { + "identifier": "thatstel.la.altsource", + "sourceURL": "https://alt.thatstel.la/" + } ] } From e3d08ebf16c5482bb99113b7825d989c061180ee Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Fri, 27 Dec 2024 18:48:03 +0530 Subject: [PATCH 02/13] [xcconfig]: corrected the variable from DEBUG_BUNDLE_ID_SUFFIX to BUNDLE_ID_SUFFIX --- CodeSigning.xcconfig.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CodeSigning.xcconfig.sample b/CodeSigning.xcconfig.sample index 688ccde8..e0a5f1b0 100644 --- a/CodeSigning.xcconfig.sample +++ b/CodeSigning.xcconfig.sample @@ -13,7 +13,7 @@ ORG_IDENTIFIER = com.myuniquename // add team ID to bundle ID for debug builds since these will most likely be installed via Xcode // SideStore will expect the team ID to be at the end of the bundle ID, but this doesn't happen when we install via Xcode // we don't want to do this for release since those builds will most likely be installed via SideServer, which adds the team ID -DEBUG_BUNDLE_ID_SUFFIX = .$(DEVELOPMENT_TEAM) +BUNDLE_ID_SUFFIX = .$(DEVELOPMENT_TEAM) // Set to YES if you have a valid paid Apple Developer account DEVELOPER_ACCOUNT_PAID = NO From e16527355465c64b9fba105b36c0076f13ba9c8e Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Fri, 27 Dec 2024 22:29:17 +0530 Subject: [PATCH 03/13] [AltSign]: updated to use latest AltSign from SideStore/AltSign master --- .gitmodules | 89 ++++++++++-------- AltStore.xcodeproj/project.pbxproj | 92 ++++++++++--------- AltStore.xcworkspace/contents.xcworkspacedata | 3 + SideStore/AltSign | 1 + 4 files changed, 102 insertions(+), 83 deletions(-) create mode 160000 SideStore/AltSign diff --git a/.gitmodules b/.gitmodules index 0705eb49..bd5aa664 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,55 +1,68 @@ #------------------------------- # When changing url/branch in this .gitmodules file, # Always ensure you run: -# 1. `git submodule sync --recursive` -# 2. `git submodule update --init --remote --recursive ` -# 3. IF for some reason, the update doesn't fetch from updated URL try the following: -# a. Either stage or unstage the .gitmodules file fully, ie (don't have it partially staged and partial changes as unstaged) -# b. Ensure git used is LATEST VERSION [wasted few hours due to this :( ] -# 4. To restore to the commit that is marked by the submodule commit tracker file, simply issue `update --recursive` without --remote -# `git submodule update --init --recursive ` +# 1. `git rm --cached ` # this removes the submodule entry from general git tracking +# 2. `rm -rf .git/modules/` # this removes the stale name entries in submodule tracker +# 3. `rm -rf ` # removes the submodule completely +# 4. `git submodule --deinit ` # make sure that the submodule is de-inited too (ignore errors at this point) +# 5. `git submodule add [-b ] ` # This adds the submodule back into general git tracking and also adds to the submodule tracker +# 6. Step 5 creates an entry in the .gitmodules when a submodule is added, +# So if you already had one entry, try to remove duplicates at this point +# 7. `git submodule sync --recursive` # this now sets/updates the submodule repo url tracker into git config +# 8. `git submodule update --init --recursive` # this now clones the updated repo set by .gitmodules +# But this will always fetch the latest commit sepecified by the custom(if set)/default branch +# 9. If you do want to have a specific commit in that submodule branch and not latest, you need to perform normal detached head checkout and check-in as follows: +# `pushd ` # switch to the submodule repo +# `git checkout ` # this creates a detached head state +# `popd` # get back to parent repo +# `git add ` # check-in the changes in parent for this submodule link (tracker) +# `git commit -m ` # commit it to parent repo +# `git push` # push to parent repo to preserve this entire change in the submodule repo/link file +# +# NOTES: +# 1. updating just this .gitmodules file is NOT ENOUGH when changing repo url and performing a simple `git submodule update --init --recursive`, need to do all the above listed steps for proper tracking +# 2. updating the branch in this .gitmodules for same repo is okay as long as `git submodule update --init --recursive` is also performed followed by it +# 3. Ensure there is no stale entries or duplicate entries in this .gitmodules file coz, `git submodule add ...` creates an entry here. #------------------------------- [submodule "Dependencies/Roxas"] - path = Dependencies/Roxas - url = https://github.com/rileytestut/Roxas.git + path = Dependencies/Roxas + url = https://github.com/rileytestut/Roxas.git [submodule "Dependencies/libimobiledevice"] - path = Dependencies/libimobiledevice - url = https://github.com/libimobiledevice/libimobiledevice + path = Dependencies/libimobiledevice + url = https://github.com/libimobiledevice/libimobiledevice [submodule "Dependencies/libusbmuxd"] - path = Dependencies/libusbmuxd - url = https://github.com/libimobiledevice/libusbmuxd.git + path = Dependencies/libusbmuxd + url = https://github.com/libimobiledevice/libusbmuxd.git [submodule "Dependencies/libplist"] - path = Dependencies/libplist - url = https://github.com/SideStore/libplist.git + path = Dependencies/libplist + url = https://github.com/SideStore/libplist.git [submodule "Dependencies/MarkdownAttributedString"] - path = Dependencies/MarkdownAttributedString - url = https://github.com/chockenberry/MarkdownAttributedString.git + path = Dependencies/MarkdownAttributedString + url = https://github.com/chockenberry/MarkdownAttributedString.git [submodule "Dependencies/libimobiledevice-glue"] - path = Dependencies/libimobiledevice-glue - url = https://github.com/libimobiledevice/libimobiledevice-glue -# [submodule "Dependencies/AltSign"] -# path = Dependencies/AltSign -# url = https://github.com/rileytestut/AltSign.git -# # url = https://github.com/SideStore/AltSign.git -# branch = marketplace -# # branch = master + path = Dependencies/libimobiledevice-glue + url = https://github.com/libimobiledevice/libimobiledevice-glue + #sidestore dependencies [submodule "SideStore/minimuxer"] - path = SideStore/minimuxer - url = https://github.com/SideStore/minimuxer - branch = master + path = SideStore/minimuxer + url = https://github.com/SideStore/minimuxer + branch = master [submodule "SideStore/em_proxy"] - path = SideStore/em_proxy - url = https://github.com/SideStore/em_proxy - branch = master + path = SideStore/em_proxy + url = https://github.com/SideStore/em_proxy + branch = master [submodule "SideStore/libfragmentzip"] - path = SideStore/libfragmentzip - url = https://github.com/SideStore/libfragmentzip - branch = master + path = SideStore/libfragmentzip + url = https://github.com/SideStore/libfragmentzip + branch = master [submodule "SideStore/apps-v2.json"] - path = SideStore/apps-v2.json - url = https://github.com/SideStore/apps-v2.json - branch = main - + path = SideStore/apps-v2.json + url = https://github.com/SideStore/apps-v2.json + branch = main +[submodule "SideStore/AltSign"] + path = SideStore/AltSign + url = https://github.com/SideStore/AltSign + branch = master \ No newline at end of file diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index c18b50fe..519683ed 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -54,15 +54,19 @@ A809F69F2D04D7B300F0F0F3 /* libem_proxy_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A809F6942D04D71200F0F0F3 /* libem_proxy_static.a */; }; A809F6A82D04DA1900F0F0F3 /* minimuxer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A809F6A32D04DA1900F0F0F3 /* minimuxer.swift */; }; A809F6A92D04DA1900F0F0F3 /* SwiftBridgeCore.swift in Sources */ = {isa = PBXBuildFile; fileRef = A809F6A72D04DA1900F0F0F3 /* SwiftBridgeCore.swift */; }; - A81177012D0B3C6C00D6C122 /* AltSign-Static in Frameworks */ = {isa = PBXBuildFile; productRef = A81177002D0B3C6C00D6C122 /* AltSign-Static */; }; - A81177032D0B3C8200D6C122 /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = A81177022D0B3C8200D6C122 /* OpenSSL */; }; - A81177052D0B3C9800D6C122 /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = A81177042D0B3C9800D6C122 /* OpenSSL */; }; A82067842D03DC0600645C0D /* OperatingSystemVersion+Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5708416292448DA00D42D34 /* OperatingSystemVersion+Comparable.swift */; }; A82067C42D03E0DE00645C0D /* SemanticVersion in Frameworks */ = {isa = PBXBuildFile; productRef = A82067C32D03E0DE00645C0D /* SemanticVersion */; }; + A859ED5C2D1EE827003DCC58 /* OpenSSL.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */; }; + A859ED5D2D1EE827003DCC58 /* OpenSSL.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; A8945AA62D059B6100D86CBE /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8945AA52D059B6100D86CBE /* Roxas.framework */; }; A8A543302D04F14400D72399 /* libfragmentzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A8A5432F2D04F0C100D72399 /* libfragmentzip.a */; }; A8BB34E52D04EC8E000A8B4D /* minimuxer-helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = A809F6A52D04DA1900F0F0F3 /* minimuxer-helpers.swift */; }; - A8D484D02D0CCA8A002C691D /* AltSign-Static in Frameworks */ = {isa = PBXBuildFile; productRef = A8D484CF2D0CCA8A002C691D /* AltSign-Static */; }; + A8C6D50C2D1EE87600DF01F1 /* AltSign-Static in Frameworks */ = {isa = PBXBuildFile; productRef = A8C6D50B2D1EE87600DF01F1 /* AltSign-Static */; }; + A8C6D5122D1EE8AF00DF01F1 /* AltSign-Static in Frameworks */ = {isa = PBXBuildFile; productRef = A8C6D5112D1EE8AF00DF01F1 /* AltSign-Static */; }; + A8C6D5132D1EE8D700DF01F1 /* OpenSSL.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */; }; + A8C6D5142D1EE8D700DF01F1 /* OpenSSL.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + A8C6D5172D1EE95B00DF01F1 /* OpenSSL.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */; }; + A8C6D5182D1EE95B00DF01F1 /* OpenSSL.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; A8D484D82D0CD306002C691D /* AltBackup.ipa in Resources */ = {isa = PBXBuildFile; fileRef = A8D484D72D0CD306002C691D /* AltBackup.ipa */; }; A8F838922D048E8F00ED425D /* libEmotionalDamage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19104DB22909C06C00C49C7B /* libEmotionalDamage.a */; }; A8F838932D048E8F00ED425D /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FAB290A5D92001A3B7C /* libminimuxer.a */; }; @@ -502,12 +506,35 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ + A859ED5E2D1EE827003DCC58 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + A859ED5D2D1EE827003DCC58 /* OpenSSL.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + A8C6D5102D1EE8AC00DF01F1 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + A8C6D5142D1EE8D700DF01F1 /* OpenSSL.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; BF088D2B2501A087008082D9 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( + A8C6D5182D1EE95B00DF01F1 /* OpenSSL.xcframework in Embed Frameworks */, BF1614F2250822F100767AEA /* Roxas.framework in Embed Frameworks */, BF66EE862501AE50007EE018 /* AltStoreCore.framework in Embed Frameworks */, ); @@ -589,6 +616,7 @@ A809F6A72D04DA1900F0F0F3 /* SwiftBridgeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftBridgeCore.swift; sourceTree = ""; }; A8570F912D104EA100929D17 /* AltStore.release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStore.release.xcconfig; sourceTree = ""; }; A8570F922D104F2C00929D17 /* AltStoreCore.release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStoreCore.release.xcconfig; sourceTree = ""; }; + A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:67RAULRX93:Marcin Krzyzanowski"; lastKnownFileType = wrapper.xcframework; name = OpenSSL.xcframework; path = SideStore/AltSign/Dependencies/OpenSSL/Frameworks/OpenSSL.xcframework; sourceTree = ""; }; A8945AA52D059B6100D86CBE /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A8D484D72D0CD306002C691D /* AltBackup.ipa */ = {isa = PBXFileReference; lastKnownFileType = file; path = AltBackup.ipa; sourceTree = ""; }; A8F66C3C2D04D433009689E6 /* em_proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = em_proxy.h; sourceTree = ""; }; @@ -990,7 +1018,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A81177032D0B3C8200D6C122 /* OpenSSL in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -998,8 +1025,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A8C6D5132D1EE8D700DF01F1 /* OpenSSL.xcframework in Frameworks */, BF580498246A3D19008AE704 /* UIKit.framework in Frameworks */, - A8D484D02D0CCA8A002C691D /* AltSign-Static in Frameworks */, + A8C6D5122D1EE8AF00DF01F1 /* AltSign-Static in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1009,8 +1037,9 @@ files = ( A8945AA62D059B6100D86CBE /* Roxas.framework in Frameworks */, A82067C42D03E0DE00645C0D /* SemanticVersion in Frameworks */, - A81177012D0B3C6C00D6C122 /* AltSign-Static in Frameworks */, + A859ED5C2D1EE827003DCC58 /* OpenSSL.xcframework in Frameworks */, 551A15E55999499418AC1022 /* Pods_AltStoreCore.framework in Frameworks */, + A8C6D50C2D1EE87600DF01F1 /* AltSign-Static in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1026,10 +1055,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A8C6D5172D1EE95B00DF01F1 /* OpenSSL.xcframework in Frameworks */, A8A543302D04F14400D72399 /* libfragmentzip.a in Frameworks */, A805C3CD2D0C316A00E76BDD /* Pods_SideStore.framework in Frameworks */, A8F838942D048ECE00ED425D /* libimobiledevice.a in Frameworks */, - A81177052D0B3C9800D6C122 /* OpenSSL in Frameworks */, A8F838922D048E8F00ED425D /* libEmotionalDamage.a in Frameworks */, A8F838932D048E8F00ED425D /* libminimuxer.a in Frameworks */, D533E8B72727841800A9B5DD /* libAppleArchive.tbd in Frameworks */, @@ -1730,6 +1759,7 @@ BFD247852284BB3300981D42 /* Frameworks */ = { isa = PBXGroup; children = ( + A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */, B343F86C295F759E002B1159 /* libresolv.tbd */, D533E8B62727841800A9B5DD /* libAppleArchive.tbd */, BF580497246A3D19008AE704 /* UIKit.framework */, @@ -2189,6 +2219,7 @@ BF580477246A28F7008AE704 /* Sources */, BF580478246A28F7008AE704 /* Frameworks */, BF580479246A28F7008AE704 /* Resources */, + A8C6D5102D1EE8AC00DF01F1 /* Embed Frameworks */, ); buildRules = ( ); @@ -2208,6 +2239,7 @@ BF66EE7A2501AE50007EE018 /* Sources */, BF66EE7B2501AE50007EE018 /* Frameworks */, BF66EE7C2501AE50007EE018 /* Resources */, + A859ED5E2D1EE827003DCC58 /* Embed Frameworks */, ); buildRules = ( ); @@ -2216,7 +2248,7 @@ name = AltStoreCore; packageProductDependencies = ( A82067C32D03E0DE00645C0D /* SemanticVersion */, - A81177002D0B3C6C00D6C122 /* AltSign-Static */, + A8C6D50B2D1EE87600DF01F1 /* AltSign-Static */, ); productName = AltStoreCore; productReference = BF66EE7E2501AE50007EE018 /* AltStoreCore.framework */; @@ -2324,8 +2356,6 @@ D58D5F2C26DFE68E00E55E38 /* XCRemoteSwiftPackageReference "LaunchAtLogin" */, D5FB7A2C2AA2859400EF863D /* XCRemoteSwiftPackageReference "swift-argument-parser" */, A82067C22D03E0DE00645C0D /* XCRemoteSwiftPackageReference "SemanticVersion" */, - A81176FC2D0B3BAB00D6C122 /* XCRemoteSwiftPackageReference "OpenSSL" */, - A81176FF2D0B3C6C00D6C122 /* XCRemoteSwiftPackageReference "AltSign" */, ); productRefGroup = BFD2476B2284B9A500981D42 /* Products */; projectDirPath = ""; @@ -3701,22 +3731,6 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - A81176FC2D0B3BAB00D6C122 /* XCRemoteSwiftPackageReference "OpenSSL" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/krzyzanowskim/OpenSSL"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 1.1.2000; - }; - }; - A81176FF2D0B3C6C00D6C122 /* XCRemoteSwiftPackageReference "AltSign" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/SideStore/AltSign"; - requirement = { - branch = master; - kind = branch; - }; - }; A82067C22D03E0DE00645C0D /* XCRemoteSwiftPackageReference "SemanticVersion" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/SwiftPackageIndex/SemanticVersion"; @@ -3744,29 +3758,17 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - A81177002D0B3C6C00D6C122 /* AltSign-Static */ = { - isa = XCSwiftPackageProductDependency; - package = A81176FF2D0B3C6C00D6C122 /* XCRemoteSwiftPackageReference "AltSign" */; - productName = "AltSign-Static"; - }; - A81177022D0B3C8200D6C122 /* OpenSSL */ = { - isa = XCSwiftPackageProductDependency; - package = A81176FC2D0B3BAB00D6C122 /* XCRemoteSwiftPackageReference "OpenSSL" */; - productName = OpenSSL; - }; - A81177042D0B3C9800D6C122 /* OpenSSL */ = { - isa = XCSwiftPackageProductDependency; - package = A81176FC2D0B3BAB00D6C122 /* XCRemoteSwiftPackageReference "OpenSSL" */; - productName = OpenSSL; - }; A82067C32D03E0DE00645C0D /* SemanticVersion */ = { isa = XCSwiftPackageProductDependency; package = A82067C22D03E0DE00645C0D /* XCRemoteSwiftPackageReference "SemanticVersion" */; productName = SemanticVersion; }; - A8D484CF2D0CCA8A002C691D /* AltSign-Static */ = { + A8C6D50B2D1EE87600DF01F1 /* AltSign-Static */ = { + isa = XCSwiftPackageProductDependency; + productName = "AltSign-Static"; + }; + A8C6D5112D1EE8AF00DF01F1 /* AltSign-Static */ = { isa = XCSwiftPackageProductDependency; - package = A81176FF2D0B3C6C00D6C122 /* XCRemoteSwiftPackageReference "AltSign" */; productName = "AltSign-Static"; }; /* End XCSwiftPackageProductDependency section */ diff --git a/AltStore.xcworkspace/contents.xcworkspacedata b/AltStore.xcworkspace/contents.xcworkspacedata index 9940253b..d5c67065 100644 --- a/AltStore.xcworkspace/contents.xcworkspacedata +++ b/AltStore.xcworkspace/contents.xcworkspacedata @@ -4,6 +4,9 @@ + + diff --git a/SideStore/AltSign b/SideStore/AltSign new file mode 160000 index 00000000..8a4ea328 --- /dev/null +++ b/SideStore/AltSign @@ -0,0 +1 @@ +Subproject commit 8a4ea328923adcdb0312a62cde50b6ebdb16ad2c From c69c8c69fa41ffdba30c5a4dfc79a7fcbc02494e Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Fri, 27 Dec 2024 23:13:10 +0530 Subject: [PATCH 04/13] -[AltSign]: updated submodule to latest --- SideStore/AltSign | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SideStore/AltSign b/SideStore/AltSign index 8a4ea328..c1b7fd9f 160000 --- a/SideStore/AltSign +++ b/SideStore/AltSign @@ -1 +1 @@ -Subproject commit 8a4ea328923adcdb0312a62cde50b6ebdb16ad2c +Subproject commit c1b7fd9f5990c1dfbdf0d620fd13264abe2e919b From ff4a0004060a9e84febf5808e03e79901b9bac96 Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Fri, 27 Dec 2024 23:36:21 +0530 Subject: [PATCH 05/13] [cleanup]: declutter by moving the xcconfig into their own directory --- AltStore.xcodeproj/project.pbxproj | 51 +++++++++++++------ .../AltBackup.xcconfig | 0 .../AltStore.debug.xcconfig | 0 .../AltStore.release.xcconfig | 0 .../AltStoreCore.debug.xcconfig | 0 .../AltStoreCore.release.xcconfig | 0 .../AltWidgetExtension.xcconfig | 0 7 files changed, 36 insertions(+), 15 deletions(-) rename AltBackup.xcconfig => xcconfigs/AltBackup.xcconfig (100%) rename AltStore.debug.xcconfig => xcconfigs/AltStore.debug.xcconfig (100%) rename AltStore.release.xcconfig => xcconfigs/AltStore.release.xcconfig (100%) rename AltStoreCore.debug.xcconfig => xcconfigs/AltStoreCore.debug.xcconfig (100%) rename AltStoreCore.release.xcconfig => xcconfigs/AltStoreCore.release.xcconfig (100%) rename AltWidgetExtension.xcconfig => xcconfigs/AltWidgetExtension.xcconfig (100%) diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 519683ed..ba06c8ae 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 60; + objectVersion = 71; objects = { /* Begin PBXBuildFile section */ @@ -996,6 +996,10 @@ D5FD4ECA2A9532960097BEE8 /* DatabaseManager+Async.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DatabaseManager+Async.swift"; sourceTree = ""; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedRootGroup section */ + A85D2D272D1F228A00A9CFC1 /* xcconfigs */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = xcconfigs; sourceTree = ""; }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ 19104DAF2909C06C00C49C7B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -1144,6 +1148,19 @@ name = Products; sourceTree = ""; }; + A8B325D52D1F23130039A9E1 /* Recovered References */ = { + isa = PBXGroup; + children = ( + B3C3960F284F53E900DA9E2F /* AltBackup.xcconfig */, + B3C3960E284F4F9100DA9E2F /* AltStoreCore.debug.xcconfig */, + A8570F922D104F2C00929D17 /* AltStoreCore.release.xcconfig */, + B3C3960D284F4E4B00DA9E2F /* AltWidgetExtension.xcconfig */, + B3C3960B284F4C9800DA9E2F /* AltStore.debug.xcconfig */, + A8570F912D104EA100929D17 /* AltStore.release.xcconfig */, + ); + name = "Recovered References"; + sourceTree = ""; + }; A8F66C072D04C025009689E6 /* SideStore */ = { isa = PBXGroup; children = ( @@ -1695,15 +1712,11 @@ BFD247852284BB3300981D42 /* Frameworks */, BFD2476B2284B9A500981D42 /* Products */, C2B79346E83FCBDE76D501CB /* Pods */, + A85D2D272D1F228A00A9CFC1 /* xcconfigs */, B3C39607284F4C8400DA9E2F /* Build.xcconfig */, B3C39606284F4C8400DA9E2F /* CodeSigning.xcconfig */, B3C39608284F4C8400DA9E2F /* CodeSigning.xcconfig.sample */, - B3C3960B284F4C9800DA9E2F /* AltStore.debug.xcconfig */, - A8570F912D104EA100929D17 /* AltStore.release.xcconfig */, - B3C3960F284F53E900DA9E2F /* AltBackup.xcconfig */, - B3C3960D284F4E4B00DA9E2F /* AltWidgetExtension.xcconfig */, - B3C3960E284F4F9100DA9E2F /* AltStoreCore.debug.xcconfig */, - A8570F922D104F2C00929D17 /* AltStoreCore.release.xcconfig */, + A8B325D52D1F23130039A9E1 /* Recovered References */, ); sourceTree = ""; }; @@ -3226,7 +3239,8 @@ }; BF58048C246A28F9008AE704 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3C3960F284F53E900DA9E2F /* AltBackup.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltBackup.xcconfig; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements; @@ -3251,7 +3265,8 @@ }; BF58048D246A28F9008AE704 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3C3960F284F53E900DA9E2F /* AltBackup.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltBackup.xcconfig; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements; @@ -3276,7 +3291,8 @@ }; BF66EE872501AE50007EE018 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3C3960E284F4F9100DA9E2F /* AltStoreCore.debug.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltStoreCore.debug.xcconfig; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -3316,7 +3332,8 @@ }; BF66EE882501AE50007EE018 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A8570F922D104F2C00929D17 /* AltStoreCore.release.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltStoreCore.release.xcconfig; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -3356,7 +3373,8 @@ }; BF989179250AABF4002ACF50 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3C3960D284F4E4B00DA9E2F /* AltWidgetExtension.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltWidgetExtension.xcconfig; buildSettings = { ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; @@ -3391,7 +3409,8 @@ }; BF98917A250AABF4002ACF50 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3C3960D284F4E4B00DA9E2F /* AltWidgetExtension.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltWidgetExtension.xcconfig; buildSettings = { ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; @@ -3562,7 +3581,8 @@ }; BFD2477F2284B9A700981D42 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B3C3960B284F4C9800DA9E2F /* AltStore.debug.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltStore.debug.xcconfig; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; @@ -3608,7 +3628,8 @@ }; BFD247802284B9A700981D42 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A8570F912D104EA100929D17 /* AltStore.release.xcconfig */; + baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; + baseConfigurationReferenceRelativePath = AltStore.release.xcconfig; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; diff --git a/AltBackup.xcconfig b/xcconfigs/AltBackup.xcconfig similarity index 100% rename from AltBackup.xcconfig rename to xcconfigs/AltBackup.xcconfig diff --git a/AltStore.debug.xcconfig b/xcconfigs/AltStore.debug.xcconfig similarity index 100% rename from AltStore.debug.xcconfig rename to xcconfigs/AltStore.debug.xcconfig diff --git a/AltStore.release.xcconfig b/xcconfigs/AltStore.release.xcconfig similarity index 100% rename from AltStore.release.xcconfig rename to xcconfigs/AltStore.release.xcconfig diff --git a/AltStoreCore.debug.xcconfig b/xcconfigs/AltStoreCore.debug.xcconfig similarity index 100% rename from AltStoreCore.debug.xcconfig rename to xcconfigs/AltStoreCore.debug.xcconfig diff --git a/AltStoreCore.release.xcconfig b/xcconfigs/AltStoreCore.release.xcconfig similarity index 100% rename from AltStoreCore.release.xcconfig rename to xcconfigs/AltStoreCore.release.xcconfig diff --git a/AltWidgetExtension.xcconfig b/xcconfigs/AltWidgetExtension.xcconfig similarity index 100% rename from AltWidgetExtension.xcconfig rename to xcconfigs/AltWidgetExtension.xcconfig From 73c86661be3f879ccdb266a94dfb33afe8d8bc09 Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Fri, 27 Dec 2024 23:36:53 +0530 Subject: [PATCH 06/13] [AltSign]: updated to use latest AltSign from SideStore/AltSign master --- SideStore/AltSign | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SideStore/AltSign b/SideStore/AltSign index c1b7fd9f..5c278001 160000 --- a/SideStore/AltSign +++ b/SideStore/AltSign @@ -1 +1 @@ -Subproject commit c1b7fd9f5990c1dfbdf0d620fd13264abe2e919b +Subproject commit 5c278001ccc69e28b9adfd6659a24faf14cc61b3 From 6c5cf2ef06dd9e07889411c9bee2174c1dc6c5bf Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Fri, 27 Dec 2024 23:38:52 +0530 Subject: [PATCH 07/13] [cleanup]: remove left overs from last cleanup --- AltStore.xcconfig | 3 --- AltStoreCore.xcconfig | 6 ------ 2 files changed, 9 deletions(-) delete mode 100644 AltStore.xcconfig delete mode 100644 AltStoreCore.xcconfig diff --git a/AltStore.xcconfig b/AltStore.xcconfig deleted file mode 100644 index 3366003e..00000000 --- a/AltStore.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -#include "Build.xcconfig" - -PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER) diff --git a/AltStoreCore.xcconfig b/AltStoreCore.xcconfig deleted file mode 100644 index 7bbddb2e..00000000 --- a/AltStoreCore.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -#include "Build.xcconfig" - -// Since AltStoreCore is unsigned or the team is not configured, we re-define the bundle ID here to not have extra '.' -// This bundle ID doesn't need to change since altStoreCore framework lives inside SideStore main app's address space and won't have conflicts with other instances -BUNDLE_ID = $(ORG_PREFIX).SideStore -PRODUCT_BUNDLE_IDENTIFIER = $(BUNDLE_ID).AltStoreCore From 68470b61c5a1f84f076be9349cdbcc1f56236176 Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Sat, 28 Dec 2024 00:44:06 +0530 Subject: [PATCH 08/13] Revert "[cleanup]: remove left overs from last cleanup" This reverts commit 6c5cf2ef06dd9e07889411c9bee2174c1dc6c5bf. --- AltStore.xcconfig | 3 +++ AltStoreCore.xcconfig | 6 ++++++ 2 files changed, 9 insertions(+) create mode 100644 AltStore.xcconfig create mode 100644 AltStoreCore.xcconfig diff --git a/AltStore.xcconfig b/AltStore.xcconfig new file mode 100644 index 00000000..3366003e --- /dev/null +++ b/AltStore.xcconfig @@ -0,0 +1,3 @@ +#include "Build.xcconfig" + +PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER) diff --git a/AltStoreCore.xcconfig b/AltStoreCore.xcconfig new file mode 100644 index 00000000..7bbddb2e --- /dev/null +++ b/AltStoreCore.xcconfig @@ -0,0 +1,6 @@ +#include "Build.xcconfig" + +// Since AltStoreCore is unsigned or the team is not configured, we re-define the bundle ID here to not have extra '.' +// This bundle ID doesn't need to change since altStoreCore framework lives inside SideStore main app's address space and won't have conflicts with other instances +BUNDLE_ID = $(ORG_PREFIX).SideStore +PRODUCT_BUNDLE_IDENTIFIER = $(BUNDLE_ID).AltStoreCore From 066d3e11a21ee75b74a5c215df224ff566870610 Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Sat, 28 Dec 2024 00:46:02 +0530 Subject: [PATCH 09/13] [xcconfigs]: Move the missed configs and fix path for pods directory --- xcconfigs/AltBackup.xcconfig | 2 +- xcconfigs/AltStore.debug.xcconfig | 2 +- xcconfigs/AltStore.release.xcconfig | 2 +- xcconfigs/AltStore.xcconfig | 3 +++ xcconfigs/AltStoreCore.debug.xcconfig | 2 +- xcconfigs/AltStoreCore.release.xcconfig | 2 +- xcconfigs/AltStoreCore.xcconfig | 6 ++++++ xcconfigs/AltWidgetExtension.xcconfig | 2 +- 8 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 xcconfigs/AltStore.xcconfig create mode 100644 xcconfigs/AltStoreCore.xcconfig diff --git a/xcconfigs/AltBackup.xcconfig b/xcconfigs/AltBackup.xcconfig index 0cbc0732..a283cc8a 100644 --- a/xcconfigs/AltBackup.xcconfig +++ b/xcconfigs/AltBackup.xcconfig @@ -1,4 +1,4 @@ -#include "Build.xcconfig" +#include "../Build.xcconfig" PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER).AltBackup diff --git a/xcconfigs/AltStore.debug.xcconfig b/xcconfigs/AltStore.debug.xcconfig index 2b3c6540..6ea89f24 100644 --- a/xcconfigs/AltStore.debug.xcconfig +++ b/xcconfigs/AltStore.debug.xcconfig @@ -1,7 +1,7 @@ #include "AltStore.xcconfig" // include cocoa pods config -#include? "Pods/Target Support Files/Pods-SideStore/Pods-SideStore.debug.xcconfig" +#include? "../Pods/Target Support Files/Pods-SideStore/Pods-SideStore.debug.xcconfig" // for ios14 and above swift runtime is included ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO diff --git a/xcconfigs/AltStore.release.xcconfig b/xcconfigs/AltStore.release.xcconfig index 222e8346..c12ce934 100644 --- a/xcconfigs/AltStore.release.xcconfig +++ b/xcconfigs/AltStore.release.xcconfig @@ -1,7 +1,7 @@ #include "AltStore.xcconfig" // include cocoa pods config -#include? "Pods/Target Support Files/Pods-SideStore/Pods-SideStore.release.xcconfig" +#include? "../Pods/Target Support Files/Pods-SideStore/Pods-SideStore.release.xcconfig" // for ios14 and above swift runtime is included ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO diff --git a/xcconfigs/AltStore.xcconfig b/xcconfigs/AltStore.xcconfig new file mode 100644 index 00000000..b207e518 --- /dev/null +++ b/xcconfigs/AltStore.xcconfig @@ -0,0 +1,3 @@ +#include "../Build.xcconfig" + +PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER) diff --git a/xcconfigs/AltStoreCore.debug.xcconfig b/xcconfigs/AltStoreCore.debug.xcconfig index 97314d99..db4f1a53 100644 --- a/xcconfigs/AltStoreCore.debug.xcconfig +++ b/xcconfigs/AltStoreCore.debug.xcconfig @@ -1,4 +1,4 @@ #include "AltStoreCore.xcconfig" // include cocoa pods config -#include? "Pods/Target Support Files/Pods-AltStoreCore/Pods-AltStoreCore.debug.xcconfig" +#include? "../Pods/Target Support Files/Pods-AltStoreCore/Pods-AltStoreCore.debug.xcconfig" diff --git a/xcconfigs/AltStoreCore.release.xcconfig b/xcconfigs/AltStoreCore.release.xcconfig index f01cdd5a..d1bf3242 100644 --- a/xcconfigs/AltStoreCore.release.xcconfig +++ b/xcconfigs/AltStoreCore.release.xcconfig @@ -1,4 +1,4 @@ #include "AltStoreCore.xcconfig" // include cocoa pods config -#include? "Pods/Target Support Files/Pods-AltStoreCore/Pods-AltStoreCore.release.xcconfig" +#include? "../Pods/Target Support Files/Pods-AltStoreCore/Pods-AltStoreCore.release.xcconfig" diff --git a/xcconfigs/AltStoreCore.xcconfig b/xcconfigs/AltStoreCore.xcconfig new file mode 100644 index 00000000..46d01d3f --- /dev/null +++ b/xcconfigs/AltStoreCore.xcconfig @@ -0,0 +1,6 @@ +#include "../Build.xcconfig" + +// Since AltStoreCore is unsigned or the team is not configured, we re-define the bundle ID here to not have extra '.' +// This bundle ID doesn't need to change since altStoreCore framework lives inside SideStore main app's address space and won't have conflicts with other instances +BUNDLE_ID = $(ORG_PREFIX).SideStore +PRODUCT_BUNDLE_IDENTIFIER = $(BUNDLE_ID).AltStoreCore diff --git a/xcconfigs/AltWidgetExtension.xcconfig b/xcconfigs/AltWidgetExtension.xcconfig index 1f3cf11a..2fd5d472 100644 --- a/xcconfigs/AltWidgetExtension.xcconfig +++ b/xcconfigs/AltWidgetExtension.xcconfig @@ -1,4 +1,4 @@ -#include "Build.xcconfig" +#include "../Build.xcconfig" PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER).AltWidget From 198fb45c9d4ad44c2fe5090a61af35da81d727f1 Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Sat, 28 Dec 2024 00:54:04 +0530 Subject: [PATCH 10/13] [Pods-fix]: using "Folders" feature of xcode to organize files bumped the project objectVersion from 60 to 71(Xcode 16) which is still unsupported by latest cocoapods --- AltStore.xcodeproj/project.pbxproj | 75 +++++++++++++----------------- 1 file changed, 33 insertions(+), 42 deletions(-) diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index ba06c8ae..87e53fa4 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 71; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -614,9 +614,15 @@ A809F6A52D04DA1900F0F0F3 /* minimuxer-helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "minimuxer-helpers.swift"; sourceTree = ""; }; A809F6A62D04DA1900F0F0F3 /* SwiftBridgeCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SwiftBridgeCore.h; sourceTree = ""; }; A809F6A72D04DA1900F0F0F3 /* SwiftBridgeCore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftBridgeCore.swift; sourceTree = ""; }; - A8570F912D104EA100929D17 /* AltStore.release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStore.release.xcconfig; sourceTree = ""; }; - A8570F922D104F2C00929D17 /* AltStoreCore.release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStoreCore.release.xcconfig; sourceTree = ""; }; A859ED5B2D1EE80D003DCC58 /* OpenSSL.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:67RAULRX93:Marcin Krzyzanowski"; lastKnownFileType = wrapper.xcframework; name = OpenSSL.xcframework; path = SideStore/AltSign/Dependencies/OpenSSL/Frameworks/OpenSSL.xcframework; sourceTree = ""; }; + A85ACB8E2D1F31C400AA3DE7 /* AltBackup.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltBackup.xcconfig; sourceTree = ""; }; + A85ACB8F2D1F31C400AA3DE7 /* AltStore.debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStore.debug.xcconfig; sourceTree = ""; }; + A85ACB902D1F31C400AA3DE7 /* AltStore.release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStore.release.xcconfig; sourceTree = ""; }; + A85ACB912D1F31C400AA3DE7 /* AltStoreCore.debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStoreCore.debug.xcconfig; sourceTree = ""; }; + A85ACB922D1F31C400AA3DE7 /* AltStoreCore.release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStoreCore.release.xcconfig; sourceTree = ""; }; + A85ACB932D1F31C400AA3DE7 /* AltWidgetExtension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltWidgetExtension.xcconfig; sourceTree = ""; }; + A86202322D1F35640091187B /* AltStore.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStore.xcconfig; sourceTree = ""; }; + A86202332D1F35640091187B /* AltStoreCore.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStoreCore.xcconfig; sourceTree = ""; }; A8945AA52D059B6100D86CBE /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A8D484D72D0CD306002C691D /* AltBackup.ipa */ = {isa = PBXFileReference; lastKnownFileType = file; path = AltBackup.ipa; sourceTree = ""; }; A8F66C3C2D04D433009689E6 /* em_proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = em_proxy.h; sourceTree = ""; }; @@ -644,10 +650,6 @@ B3C39606284F4C8400DA9E2F /* CodeSigning.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = CodeSigning.xcconfig; sourceTree = ""; }; B3C39607284F4C8400DA9E2F /* Build.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Build.xcconfig; sourceTree = ""; }; B3C39608284F4C8400DA9E2F /* CodeSigning.xcconfig.sample */ = {isa = PBXFileReference; lastKnownFileType = text; path = CodeSigning.xcconfig.sample; sourceTree = ""; }; - B3C3960B284F4C9800DA9E2F /* AltStore.debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStore.debug.xcconfig; sourceTree = ""; }; - B3C3960D284F4E4B00DA9E2F /* AltWidgetExtension.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltWidgetExtension.xcconfig; sourceTree = ""; }; - B3C3960E284F4F9100DA9E2F /* AltStoreCore.debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltStoreCore.debug.xcconfig; sourceTree = ""; }; - B3C3960F284F53E900DA9E2F /* AltBackup.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AltBackup.xcconfig; sourceTree = ""; }; B3EE16B52925E27D00B3B1F5 /* AnisetteManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnisetteManager.swift; sourceTree = ""; }; BD4513AA2C6FA98C0052BCC0 /* AppExtensionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppExtensionView.swift; sourceTree = ""; }; BF02419522F2199300129732 /* RefreshAttemptsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RefreshAttemptsViewController.swift; sourceTree = ""; }; @@ -996,10 +998,6 @@ D5FD4ECA2A9532960097BEE8 /* DatabaseManager+Async.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DatabaseManager+Async.swift"; sourceTree = ""; }; /* End PBXFileReference section */ -/* Begin PBXFileSystemSynchronizedRootGroup section */ - A85D2D272D1F228A00A9CFC1 /* xcconfigs */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = xcconfigs; sourceTree = ""; }; -/* End PBXFileSystemSynchronizedRootGroup section */ - /* Begin PBXFrameworksBuildPhase section */ 19104DAF2909C06C00C49C7B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -1137,6 +1135,21 @@ name = Products; sourceTree = ""; }; + A85ACB942D1F31C400AA3DE7 /* xcconfigs */ = { + isa = PBXGroup; + children = ( + A86202332D1F35640091187B /* AltStoreCore.xcconfig */, + A85ACB912D1F31C400AA3DE7 /* AltStoreCore.debug.xcconfig */, + A85ACB922D1F31C400AA3DE7 /* AltStoreCore.release.xcconfig */, + A86202322D1F35640091187B /* AltStore.xcconfig */, + A85ACB8F2D1F31C400AA3DE7 /* AltStore.debug.xcconfig */, + A85ACB902D1F31C400AA3DE7 /* AltStore.release.xcconfig */, + A85ACB8E2D1F31C400AA3DE7 /* AltBackup.xcconfig */, + A85ACB932D1F31C400AA3DE7 /* AltWidgetExtension.xcconfig */, + ); + path = xcconfigs; + sourceTree = ""; + }; A8A543222D04F0C100D72399 /* Products */ = { isa = PBXGroup; children = ( @@ -1148,19 +1161,6 @@ name = Products; sourceTree = ""; }; - A8B325D52D1F23130039A9E1 /* Recovered References */ = { - isa = PBXGroup; - children = ( - B3C3960F284F53E900DA9E2F /* AltBackup.xcconfig */, - B3C3960E284F4F9100DA9E2F /* AltStoreCore.debug.xcconfig */, - A8570F922D104F2C00929D17 /* AltStoreCore.release.xcconfig */, - B3C3960D284F4E4B00DA9E2F /* AltWidgetExtension.xcconfig */, - B3C3960B284F4C9800DA9E2F /* AltStore.debug.xcconfig */, - A8570F912D104EA100929D17 /* AltStore.release.xcconfig */, - ); - name = "Recovered References"; - sourceTree = ""; - }; A8F66C072D04C025009689E6 /* SideStore */ = { isa = PBXGroup; children = ( @@ -1712,11 +1712,10 @@ BFD247852284BB3300981D42 /* Frameworks */, BFD2476B2284B9A500981D42 /* Products */, C2B79346E83FCBDE76D501CB /* Pods */, - A85D2D272D1F228A00A9CFC1 /* xcconfigs */, + A85ACB942D1F31C400AA3DE7 /* xcconfigs */, B3C39607284F4C8400DA9E2F /* Build.xcconfig */, B3C39606284F4C8400DA9E2F /* CodeSigning.xcconfig */, B3C39608284F4C8400DA9E2F /* CodeSigning.xcconfig.sample */, - A8B325D52D1F23130039A9E1 /* Recovered References */, ); sourceTree = ""; }; @@ -3239,8 +3238,7 @@ }; BF58048C246A28F9008AE704 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltBackup.xcconfig; + baseConfigurationReference = A85ACB8E2D1F31C400AA3DE7 /* AltBackup.xcconfig */; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements; @@ -3265,8 +3263,7 @@ }; BF58048D246A28F9008AE704 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltBackup.xcconfig; + baseConfigurationReference = A85ACB8E2D1F31C400AA3DE7 /* AltBackup.xcconfig */; buildSettings = { CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CODE_SIGN_ENTITLEMENTS = AltBackup/AltBackup.entitlements; @@ -3291,8 +3288,7 @@ }; BF66EE872501AE50007EE018 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltStoreCore.debug.xcconfig; + baseConfigurationReference = A85ACB912D1F31C400AA3DE7 /* AltStoreCore.debug.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -3332,8 +3328,7 @@ }; BF66EE882501AE50007EE018 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltStoreCore.release.xcconfig; + baseConfigurationReference = A85ACB922D1F31C400AA3DE7 /* AltStoreCore.release.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; @@ -3373,8 +3368,7 @@ }; BF989179250AABF4002ACF50 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltWidgetExtension.xcconfig; + baseConfigurationReference = A85ACB932D1F31C400AA3DE7 /* AltWidgetExtension.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; @@ -3409,8 +3403,7 @@ }; BF98917A250AABF4002ACF50 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltWidgetExtension.xcconfig; + baseConfigurationReference = A85ACB932D1F31C400AA3DE7 /* AltWidgetExtension.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; @@ -3581,8 +3574,7 @@ }; BFD2477F2284B9A700981D42 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltStore.debug.xcconfig; + baseConfigurationReference = A85ACB8F2D1F31C400AA3DE7 /* AltStore.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; @@ -3628,8 +3620,7 @@ }; BFD247802284B9A700981D42 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = A85D2D272D1F228A00A9CFC1 /* xcconfigs */; - baseConfigurationReferenceRelativePath = AltStore.release.xcconfig; + baseConfigurationReference = A85ACB902D1F31C400AA3DE7 /* AltStore.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; From d1be3f1914c5c83fb4c7ad8ff560e2521509265b Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Sat, 28 Dec 2024 01:01:06 +0530 Subject: [PATCH 11/13] Reapply "[cleanup]: remove left overs from last cleanup" This reverts commit 68470b61c5a1f84f076be9349cdbcc1f56236176. --- AltStore.xcconfig | 3 --- AltStoreCore.xcconfig | 6 ------ 2 files changed, 9 deletions(-) delete mode 100644 AltStore.xcconfig delete mode 100644 AltStoreCore.xcconfig diff --git a/AltStore.xcconfig b/AltStore.xcconfig deleted file mode 100644 index 3366003e..00000000 --- a/AltStore.xcconfig +++ /dev/null @@ -1,3 +0,0 @@ -#include "Build.xcconfig" - -PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER) diff --git a/AltStoreCore.xcconfig b/AltStoreCore.xcconfig deleted file mode 100644 index 7bbddb2e..00000000 --- a/AltStoreCore.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -#include "Build.xcconfig" - -// Since AltStoreCore is unsigned or the team is not configured, we re-define the bundle ID here to not have extra '.' -// This bundle ID doesn't need to change since altStoreCore framework lives inside SideStore main app's address space and won't have conflicts with other instances -BUNDLE_ID = $(ORG_PREFIX).SideStore -PRODUCT_BUNDLE_IDENTIFIER = $(BUNDLE_ID).AltStoreCore From 8a7709058641ce3faed87a8f7f231aefac27f79b Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Sat, 28 Dec 2024 02:06:14 +0530 Subject: [PATCH 12/13] [README]: updated min iOS to 15 and added info about cocoapods requirement for development --- CONTRIBUTING.md | 10 +++++++--- README.md | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 57c9ce71..78443779 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -44,12 +44,16 @@ Next, make and test your changes. Then, commit and push your changes using git a ## Prebuilt binary information minimuxer and em_proxy use prebuilt static library binaries built by GitHub Actions to speed up builds and remove the need for Rust to be installed when working on SideStore. -[`Dependencies/fetch-prebuilt.sh`](./Dependencies/fetch-prebuilt.sh) will be run before each build by Xcode, and it will check if the downloaded binaries are up-to-date once every 6 hours. If you want -to force it to check for new binaries, run `bash ./Dependencies/fetch-prebuilt.sh force`. +[`SideStore/fetch-prebuilt.sh`](./SideStore/fetch-prebuilt.sh) will be run before each build by Xcode, and it will check if the downloaded binaries are up-to-date once every 6 hours. If you want +to force it to check for new binaries, run `bash ./SideStore/fetch-prebuilt.sh force`. ## Building an IPA for distribution -You can use the Makefile: `make build fakesign ipa` +Install cocoapods if required using: `brew install cocoapods` + +Now perform Pod-Install using: `pod install` command to install the dependencies. + +You can then use the Makefile command: `make build fakesign ipa` in the root directory. This will create SideStore.ipa. diff --git a/README.md b/README.md index 4db775a6..db8f16fb 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ SideStore's goal is to provide an untethered sideloading experience. It's a comm (Contributions are welcome! 🙂) ## Requirements -- Xcode 14 -- iOS 14+ +- Xcode 15 +- iOS 15+ - Rustup (`brew install rustup`) Why iOS 14? Targeting such a recent version of iOS allows us to accelerate development, especially since not many developers have older devices to test on. This is corrobated by the fact that SwiftUI support is much better, allowing us to transistion to a more modern UI codebase. From e21e116535072a92593064e864c498c26c866af4 Mon Sep 17 00:00:00 2001 From: Magesh K <47920326+mahee96@users.noreply.github.com> Date: Sat, 28 Dec 2024 02:12:03 +0530 Subject: [PATCH 13/13] [Fix]: operate on UI controls in main thread --- .../Operations/AuthenticationOperation.swift | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/AltStore/Operations/AuthenticationOperation.swift b/AltStore/Operations/AuthenticationOperation.swift index 7c84de34..730edd11 100644 --- a/AltStore/Operations/AuthenticationOperation.swift +++ b/AltStore/Operations/AuthenticationOperation.swift @@ -555,26 +555,26 @@ private extension AuthenticationOperation } } - let alertController = UIAlertController(title: NSLocalizedString("Would you like to revoke your previous certificates?\n\(certsText)", comment: ""), message: nil, preferredStyle: .alert) - - let noAction = UIAlertAction(title: NSLocalizedString("No", comment: ""), style: .default) { (action) in - requestCertificate() - } - let yesAction = UIAlertAction(title: NSLocalizedString("Yes", comment: ""), style: .default) { (action) in - for certificate in ourCertificates { - ALTAppleAPI.shared.revoke(certificate, for: team, session: session) { (success, error) in - if let error = error, !success - { - completionHandler(.failure(error)) + DispatchQueue.main.async { + let alertController = UIAlertController(title: NSLocalizedString("Would you like to revoke your previous certificates?\n\(certsText)", comment: ""), message: nil, preferredStyle: .alert) + + let noAction = UIAlertAction(title: NSLocalizedString("No", comment: ""), style: .default) { (action) in + requestCertificate() + } + let yesAction = UIAlertAction(title: NSLocalizedString("Yes", comment: ""), style: .default) { (action) in + for certificate in ourCertificates { + ALTAppleAPI.shared.revoke(certificate, for: team, session: session) { (success, error) in + if let error = error, !success + { + completionHandler(.failure(error)) + } } } + requestCertificate() } - requestCertificate() - } - alertController.addAction(noAction) - alertController.addAction(yesAction) - - DispatchQueue.main.async { + alertController.addAction(noAction) + alertController.addAction(yesAction) + if self.navigationController.presentingViewController != nil { self.navigationController.present(alertController, animated: true, completion: nil)