From dc676d04d8dfa9e8a177a292d5791ab1d5feb629 Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 13:21:57 -0500 Subject: [PATCH 01/12] Add rust depends to xcode build Signed-off-by: Joseph Mattello cargo script for action fixes path Signed-off-by: Joseph Mattello cargo.sh More robust env for xcode cli Signed-off-by: Joseph Mattello rust: add xcode projs made with cargo-xcode Signed-off-by: Joseph Mattello --- AltStore.xcodeproj/project.pbxproj | 79 +++- .../em_proxy.xcodeproj/project.pbxproj | 371 ++++++++++++++++++ .../minimuxer.xcodeproj/project.pbxproj | 292 ++++++++++++++ 3 files changed, 738 insertions(+), 4 deletions(-) create mode 100644 Dependencies/em_proxy.xcodeproj/project.pbxproj create mode 100644 Dependencies/minimuxer.xcodeproj/project.pbxproj diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index ce5142ad..4b541ead 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -10,11 +10,9 @@ 03F06CD52942C27E001C4D68 /* Bundle+AltStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1E314122A05D4C00370A3C /* Bundle+AltStore.swift */; }; 19104D952909BAEA00C49C7B /* libimobiledevice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BF45872B2298D31600BD7491 /* libimobiledevice.a */; }; 19104DB52909C06D00C49C7B /* EmotionalDamage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19104DB42909C06D00C49C7B /* EmotionalDamage.swift */; }; - 19104DBB2909C11700C49C7B /* libem_proxy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19104DA32909BC1000C49C7B /* libem_proxy.a */; }; 19104DBC2909C4E500C49C7B /* libEmotionalDamage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19104DB22909C06C00C49C7B /* libEmotionalDamage.a */; }; 191E5FAE290A5D92001A3B7C /* minimuxer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 191E5FAD290A5D92001A3B7C /* minimuxer.swift */; }; 191E5FB4290A5DA0001A3B7C /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FAB290A5D92001A3B7C /* libminimuxer.a */; }; - 191E5FB6290A5E1F001A3B7C /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FB5290A5E1F001A3B7C /* libminimuxer.a */; }; 191E5FDC290AFA5C001A3B7C /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 191E5FDB290AFA5C001A3B7C /* OpenSSL */; }; 191E6066290B2DB1001A3B7C /* cbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E605E290B2D6B001A3B7C /* cbuf.c */; }; 191E6067290B2DB3001A3B7C /* collection.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6060290B2D6B001A3B7C /* collection.c */; }; @@ -36,6 +34,8 @@ 4879A9622861049C00FC1BBD /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 4879A9612861049C00FC1BBD /* OpenSSL */; }; B3146ED2284F581E00BBC3FD /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; }; B3146ED3284F581E00BBC3FD /* Roxas.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F84C295F6321002B1159 /* libminimuxer_static.a */; }; + B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F853295F6323002B1159 /* libem_proxy_static.a */; }; B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; }; B3919A52292DBE5400519575 /* ProgressRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = D504F42528AD72C50014BB5D /* ProgressRing.swift */; }; B39575F5284F29E20080B4FF /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B39575F4284F29E20080B4FF /* Roxas.framework */; }; @@ -383,6 +383,27 @@ remoteGlobalIDString = BFADB00319AE7BB80050CF31; remoteInfo = RoxasTests; }; + B343F84B295F6321002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F847295F6321002B1159 /* minimuxer.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = CA609C732349C7AAD9FA67C4; + remoteInfo = "minimuxer-staticlib"; + }; + B343F852295F6323002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = CA60C44C93D7916DE57E6EBD; + remoteInfo = "em_proxy-staticlib"; + }; + B343F854295F6323002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = CA60058A9FBE4D17AF51A7D5; + remoteInfo = "run-bin"; + }; BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFD247622284B9A500981D42 /* Project object */; @@ -459,6 +480,8 @@ 1920B04E2924AC8300744F60 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; 19B9B7442845E6DF0076EF69 /* SelectTeamViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectTeamViewController.swift; sourceTree = ""; }; B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Roxas.xcodeproj; path = Dependencies/Roxas/Roxas.xcodeproj; sourceTree = ""; }; + B343F847295F6321002B1159 /* minimuxer.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = minimuxer.xcodeproj; path = Dependencies/minimuxer.xcodeproj; sourceTree = SOURCE_ROOT; }; + B343F84D295F6323002B1159 /* em_proxy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = em_proxy.xcodeproj; path = Dependencies/em_proxy.xcodeproj; sourceTree = SOURCE_ROOT; }; B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = ""; }; B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = ""; }; @@ -788,7 +811,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 19104DBB2909C11700C49C7B /* libem_proxy.a in Frameworks */, + B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -796,7 +819,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 191E5FB6290A5E1F001A3B7C /* libminimuxer.a in Frameworks */, + B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -868,6 +891,7 @@ 19104DB32909C06D00C49C7B /* EmotionalDamage */ = { isa = PBXGroup; children = ( + B343F84D295F6323002B1159 /* em_proxy.xcodeproj */, 19104DA92909BC7100C49C7B /* em_proxy.h */, 19104DB42909C06D00C49C7B /* EmotionalDamage.swift */, ); @@ -877,6 +901,7 @@ 191E5FAC290A5D92001A3B7C /* minimuxer */ = { isa = PBXGroup; children = ( + B343F847295F6321002B1159 /* minimuxer.xcodeproj */, 191E5FD7290A6EFB001A3B7C /* minimuxer.h */, 191E5FAD290A5D92001A3B7C /* minimuxer.swift */, ); @@ -909,6 +934,23 @@ name = Products; sourceTree = ""; }; + B343F848295F6321002B1159 /* Products */ = { + isa = PBXGroup; + children = ( + B343F84C295F6321002B1159 /* libminimuxer_static.a */, + ); + name = Products; + sourceTree = ""; + }; + B343F84E295F6323002B1159 /* Products */ = { + isa = PBXGroup; + children = ( + B343F853295F6323002B1159 /* libem_proxy_static.a */, + B343F855295F6323002B1159 /* run */, + ); + name = Products; + sourceTree = ""; + }; B39F16112918D7B5002E9404 /* Consts */ = { isa = PBXGroup; children = ( @@ -1951,6 +1993,14 @@ productRefGroup = BFD2476B2284B9A500981D42 /* Products */; projectDirPath = ""; projectReferences = ( + { + ProductGroup = B343F84E295F6323002B1159 /* Products */; + ProjectRef = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; + }, + { + ProductGroup = B343F848295F6321002B1159 /* Products */; + ProjectRef = B343F847295F6321002B1159 /* minimuxer.xcodeproj */; + }, { ProductGroup = B3146EC7284F580500BBC3FD /* Products */; ProjectRef = B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */; @@ -1992,6 +2042,27 @@ remoteRef = B3146ED0284F580500BBC3FD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + B343F84C295F6321002B1159 /* libminimuxer_static.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libminimuxer_static.a; + remoteRef = B343F84B295F6321002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B343F853295F6323002B1159 /* libem_proxy_static.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libem_proxy_static.a; + remoteRef = B343F852295F6323002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B343F855295F6323002B1159 /* run */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = run; + remoteRef = B343F854295F6323002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ diff --git a/Dependencies/em_proxy.xcodeproj/project.pbxproj b/Dependencies/em_proxy.xcodeproj/project.pbxproj new file mode 100644 index 00000000..5e48e128 --- /dev/null +++ b/Dependencies/em_proxy.xcodeproj/project.pbxproj @@ -0,0 +1,371 @@ +// !$*UTF8*$! +{ + /* generated with cargo-xcode 1.5.0 */ + archiveVersion = 1; + classes = { + }; + objectVersion = 53; + objects = { +/* Begin PBXBuildFile section */ + + CA60E4E02AAAA30E3695DD59 /* Cargo.toml in Sources */ = { + isa = PBXBuildFile; + fileRef = CA6094FFF6923EF4668187A5 /* Cargo.toml */; + settings = { + COMPILER_FLAGS = "--lib"; /* == OTHER_INPUT_FILE_FLAGS */ + }; + }; + + CA60E4E02AAA37FC563E4BCC /* Cargo.toml in Sources */ = { + isa = PBXBuildFile; + fileRef = CA6094FFF6923EF4668187A5 /* Cargo.toml */; + settings = { + COMPILER_FLAGS = "--bin 'run'"; /* == OTHER_INPUT_FILE_FLAGS */ + }; + }; + +/* End PBXBuildFile section */ + +/* Begin PBXBuildRule section */ + CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.proxy.script; + dependencyFile = "$(DERIVED_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME).d"; + filePatterns = "*/Cargo.toml"; /* must contain asterisk */ + fileType = pattern.proxy; + inputFiles = (); + isEditable = 0; + name = "Cargo project build"; + outputFiles = ( + "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", + ); + script = "# generated with cargo-xcode 1.5.0\n\nset -eu; export PATH=\"$PATH:$HOME/.cargo/bin:/usr/local/bin\";\nif [ \"${IS_MACCATALYST-NO}\" = YES ]; then\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-ios-macabi\"\nelse\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-${CARGO_XCODE_TARGET_OS}\"\nfi\nif [ \"$CARGO_XCODE_TARGET_OS\" != \"darwin\" ]; then\n PATH=\"${PATH/\\/Contents\\/Developer\\/Toolchains\\/XcodeDefault.xctoolchain\\/usr\\/bin:/xcode-provided-ld-cant-link-lSystem-for-the-host-build-script:}\"\nfi\nPATH=\"$PATH:/opt/homebrew/bin\" # Rust projects often depend on extra tools like nasm, which Xcode lacks\nif [ \"$CARGO_XCODE_BUILD_MODE\" == release ]; then\n OTHER_INPUT_FILE_FLAGS=\"${OTHER_INPUT_FILE_FLAGS} --release\"\nfi\nif command -v rustup &> /dev/null; then\n if ! rustup target list --installed | egrep -q \"${CARGO_XCODE_TARGET_TRIPLE}\"; then\n echo \"warning: this build requires rustup toolchain for $CARGO_XCODE_TARGET_TRIPLE, but it isn\'t installed\"\n rustup target add \"${CARGO_XCODE_TARGET_TRIPLE}\" || echo >&2 \"warning: can\'t install $CARGO_XCODE_TARGET_TRIPLE\"\n fi\nfi\nif [ \"$ACTION\" = clean ]; then\n ( set -x; cargo clean --manifest-path=\"$SCRIPT_INPUT_FILE\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nelse\n ( set -x; cargo build --manifest-path=\"$SCRIPT_INPUT_FILE\" --features=\"${CARGO_XCODE_FEATURES:-}\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nfi\n# it\'s too hard to explain Cargo\'s actual exe path to Xcode build graph, so hardlink to a known-good path instead\nBUILT_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_FILE_NAME}\"\nln -f -- \"$BUILT_SRC\" \"$SCRIPT_OUTPUT_FILE_0\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\nDEP_FILE_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\nif [ -f \"$DEP_FILE_SRC\" ]; then\n DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\nfi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don\'t stay around after archs change\n# must match input for LipoScript\nFILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\ntouch \"$FILE_LIST\"\nif ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\nfi\n"; + }; +/* End PBXBuildRule section */ + +/* Begin PBXFileReference section */ + + CA60C44C93D7916DE57E6EBD /* staticlib */ = { + isa = PBXFileReference; + explicitFileType = "archive.ar"; + includeInIndex = 0; + name = "libem_proxy_static.a"; + sourceTree = TARGET_BUILD_DIR; + }; + CA60058A9FBE4D17AF51A7D5 /* bin */ = { + isa = PBXFileReference; + explicitFileType = "compiled.mach-o.executable"; + includeInIndex = 0; + name = "run"; + sourceTree = TARGET_BUILD_DIR; + }; + CA6094FFF6923EF4668187A5 /* Cargo.toml */ = { + isa = PBXFileReference; + lastKnownFileType = text; + fileEncoding = 4; + name = "Cargo.toml"; + path = "/Users/jmattiello/Workspace/Provenance/SideStore/Dependencies/em_proxy/Cargo.toml"; + sourceTree = ""; + }; + /* Rust needs libresolv */ + ADDEDBA66A6E1 = { + isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; + name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; + }; + +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + CA6094FFF69298AF0B5890DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E2, + + ); + name = Frameworks; + sourceTree = ""; + }; + + + ADDEDBA66A6E2 /* Required for static linking */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E1 + ); + name = "Required for static linking"; + sourceTree = ""; + }; + + CA6094FFF69222869D176AE5 /* Products */ = { + isa = PBXGroup; + children = ( + CA60C44C93D7916DE57E6EBD, +CA60058A9FBE4D17AF51A7D5, + + ); + name = Products; + sourceTree = ""; + }; + + CA6094FFF692D65BC3C892A8 /* Main */ = { + isa = PBXGroup; + children = ( + CA6094FFF6923EF4668187A5, +CA6094FFF69222869D176AE5, +CA6094FFF69298AF0B5890DB, + + ); + sourceTree = ""; + }; + +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CA60C44C93D7A30E3695DD59 /* em_proxy-staticlib */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA603DD75FB4A30E3695DD59; + buildPhases = ( + CA60445C3036A30E3695DD59 /* Sources */, + CA6094FFF692AF6EBB7F357C /* Universal Binary lipo */, + ); + buildRules = ( + CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "em_proxy-staticlib"; + productName = "libem_proxy_static.a"; + productReference = CA60C44C93D7916DE57E6EBD; + productType = "com.apple.product-type.library.static"; + }; + CA60058A9FBE37FC563E4BCC /* run-bin */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA603DD75FB437FC563E4BCC; + buildPhases = ( + CA60445C303637FC563E4BCC /* Sources */, + CA6094FFF692AF6EBB7F357C /* Universal Binary lipo */, + ); + buildRules = ( + CA6094FFF692AC6C1400ACA8 /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "run-bin"; + productName = "run"; + productReference = CA60058A9FBE4D17AF51A7D5; + productType = "com.apple.product-type.tool"; + }; + +/* End PBXNativeTarget section */ + + CA60445C3036A30E3695DD59 = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CA60E4E02AAAA30E3695DD59 + ); + runOnlyForDeploymentPostprocessing = 0; + }; + + CA603DD75FB4A30E3695DD59 /* staticlib */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA604DFE779BA30E3695DD59 /* Release */, + CA60DE07A83FA30E3695DD59 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA604DFE779BA30E3695DD59 /* staticlib */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "em_proxy_static"; + "CARGO_XCODE_CARGO_FILE_NAME" = "libem_proxy.a"; + "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libem_proxy.d"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SKIP_INSTALL = YES; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + + }; + name = Release; + }; + CA60DE07A83FA30E3695DD59 /* staticlib */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "em_proxy_static"; + "CARGO_XCODE_CARGO_FILE_NAME" = "libem_proxy.a"; + "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libem_proxy.d"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SKIP_INSTALL = YES; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + + }; + name = Debug; + };CA60445C303637FC563E4BCC = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CA60E4E02AAA37FC563E4BCC + ); + runOnlyForDeploymentPostprocessing = 0; + }; + + CA603DD75FB437FC563E4BCC /* bin */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA604DFE779B37FC563E4BCC /* Release */, + CA60DE07A83F37FC563E4BCC /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA604DFE779B37FC563E4BCC /* bin */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "run"; + "CARGO_XCODE_CARGO_FILE_NAME" = "run"; + "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "run.d"; + SUPPORTED_PLATFORMS = "macosx"; + + + }; + name = Release; + }; + CA60DE07A83F37FC563E4BCC /* bin */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "run"; + "CARGO_XCODE_CARGO_FILE_NAME" = "run"; + "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "run.d"; + SUPPORTED_PLATFORMS = "macosx"; + + + }; + name = Debug; + }; + + CA6094FFF692AF6EBB7F357C /* LipoScript */ = { + name = "Universal Binary lipo"; + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = (); + inputFileListPaths = (); + inputPaths = ( + "$(DERIVED_FILE_DIR)/$(ARCHS)-$(EXECUTABLE_NAME).xcfilelist", + ); + outputFileListPaths = (); + outputPaths = ( + "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)" + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# generated with cargo-xcode 1.5.0\n\n set -eux; cat \"$DERIVED_FILE_DIR/$ARCHS-$EXECUTABLE_NAME.xcfilelist\" | tr \'\\n\' \'\\0\' | xargs -0 lipo -create -output \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n if [ ${LD_DYLIB_INSTALL_NAME:+1} ]; then\n install_name_tool -id \"$LD_DYLIB_INSTALL_NAME\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n fi\n "; + }; + + CA6094FFF69280E02D6C7F57 = { + isa = XCConfigurationList; + buildConfigurations = ( + CA609A5173513CC16B37690B /* Release */, + CA609A517351228BE02872F8 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + + CA609A5173513CC16B37690B = { + isa = XCBuildConfiguration; + buildSettings = { + + ALWAYS_SEARCH_USER_PATHS = NO; + SUPPORTS_MACCATALYST = YES; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ + CARGO_XCODE_FEATURES = ""; /* configure yourself */ + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; + PRODUCT_NAME = "em_proxy"; + MARKETING_VERSION = "0.1.0"; + CURRENT_PROJECT_VERSION = "0.1"; + SDKROOT = macosx; + + "CARGO_XCODE_BUILD_MODE" = "release"; /* for xcode scripts */ + }; + name = Release; + }; + + CA609A517351228BE02872F8 = { + isa = XCBuildConfiguration; + buildSettings = { + + ALWAYS_SEARCH_USER_PATHS = NO; + SUPPORTS_MACCATALYST = YES; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ + CARGO_XCODE_FEATURES = ""; /* configure yourself */ + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; + PRODUCT_NAME = "em_proxy"; + MARKETING_VERSION = "0.1.0"; + CURRENT_PROJECT_VERSION = "0.1"; + SDKROOT = macosx; + + "CARGO_XCODE_BUILD_MODE" = "debug"; /* for xcode scripts */ + ONLY_ACTIVE_ARCH = YES; + }; + name = Debug; + }; + + CA6094FFF692E04653AD465F = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + TargetAttributes = { + CA60C44C93D7A30E3695DD59 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + CA60058A9FBE37FC563E4BCC = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = CA6094FFF69280E02D6C7F57; + compatibilityVersion = "Xcode 11.4"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CA6094FFF692D65BC3C892A8; + productRefGroup = CA6094FFF69222869D176AE5 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CA60C44C93D7A30E3695DD59, +CA60058A9FBE37FC563E4BCC, + + ); + }; + + }; + rootObject = CA6094FFF692E04653AD465F; +} + \ No newline at end of file diff --git a/Dependencies/minimuxer.xcodeproj/project.pbxproj b/Dependencies/minimuxer.xcodeproj/project.pbxproj new file mode 100644 index 00000000..a12d8552 --- /dev/null +++ b/Dependencies/minimuxer.xcodeproj/project.pbxproj @@ -0,0 +1,292 @@ +// !$*UTF8*$! +{ + /* generated with cargo-xcode 1.5.0 */ + archiveVersion = 1; + classes = { + }; + objectVersion = 53; + objects = { +/* Begin PBXBuildFile section */ + + CA6038F2DF2FA560B9642892 /* Cargo.toml in Sources */ = { + isa = PBXBuildFile; + fileRef = CA6012A875F93EF4668187A5 /* Cargo.toml */; + settings = { + COMPILER_FLAGS = "--lib"; /* == OTHER_INPUT_FILE_FLAGS */ + }; + }; + +/* End PBXBuildFile section */ + +/* Begin PBXBuildRule section */ + CA6012A875F9AC6C1400ACA8 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.proxy.script; + dependencyFile = "$(DERIVED_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME).d"; + filePatterns = "*/Cargo.toml"; /* must contain asterisk */ + fileType = pattern.proxy; + inputFiles = (); + isEditable = 0; + name = "Cargo project build"; + outputFiles = ( + "$(OBJECT_FILE_DIR)/$(CARGO_XCODE_TARGET_ARCH)-$(EXECUTABLE_NAME)", + ); + script = "# generated with cargo-xcode 1.5.0\n\nset -eu; export PATH=\"$PATH:$HOME/.cargo/bin:/usr/local/bin\";\nif [ \"${IS_MACCATALYST-NO}\" = YES ]; then\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-ios-macabi\"\nelse\n CARGO_XCODE_TARGET_TRIPLE=\"${CARGO_XCODE_TARGET_ARCH}-apple-${CARGO_XCODE_TARGET_OS}\"\nfi\nif [ \"$CARGO_XCODE_TARGET_OS\" != \"darwin\" ]; then\n PATH=\"${PATH/\\/Contents\\/Developer\\/Toolchains\\/XcodeDefault.xctoolchain\\/usr\\/bin:/xcode-provided-ld-cant-link-lSystem-for-the-host-build-script:}\"\nfi\nPATH=\"$PATH:/opt/homebrew/bin\" # Rust projects often depend on extra tools like nasm, which Xcode lacks\nif [ \"$CARGO_XCODE_BUILD_MODE\" == release ]; then\n OTHER_INPUT_FILE_FLAGS=\"${OTHER_INPUT_FILE_FLAGS} --release\"\nfi\nif command -v rustup &> /dev/null; then\n if ! rustup target list --installed | egrep -q \"${CARGO_XCODE_TARGET_TRIPLE}\"; then\n echo \"warning: this build requires rustup toolchain for $CARGO_XCODE_TARGET_TRIPLE, but it isn\'t installed\"\n rustup target add \"${CARGO_XCODE_TARGET_TRIPLE}\" || echo >&2 \"warning: can\'t install $CARGO_XCODE_TARGET_TRIPLE\"\n fi\nfi\nif [ \"$ACTION\" = clean ]; then\n ( set -x; cargo clean --manifest-path=\"$SCRIPT_INPUT_FILE\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nelse\n ( set -x; cargo build --manifest-path=\"$SCRIPT_INPUT_FILE\" --features=\"${CARGO_XCODE_FEATURES:-}\" ${OTHER_INPUT_FILE_FLAGS} --target=\"${CARGO_XCODE_TARGET_TRIPLE}\"; );\nfi\n# it\'s too hard to explain Cargo\'s actual exe path to Xcode build graph, so hardlink to a known-good path instead\nBUILT_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_FILE_NAME}\"\nln -f -- \"$BUILT_SRC\" \"$SCRIPT_OUTPUT_FILE_0\"\n\n# xcode generates dep file, but for its own path, so append our rename to it\nDEP_FILE_SRC=\"${CARGO_TARGET_DIR}/${CARGO_XCODE_TARGET_TRIPLE}/${CARGO_XCODE_BUILD_MODE}/${CARGO_XCODE_CARGO_DEP_FILE_NAME}\"\nif [ -f \"$DEP_FILE_SRC\" ]; then\n DEP_FILE_DST=\"${DERIVED_FILE_DIR}/${CARGO_XCODE_TARGET_ARCH}-${EXECUTABLE_NAME}.d\"\n cp -f \"$DEP_FILE_SRC\" \"$DEP_FILE_DST\"\n echo >> \"$DEP_FILE_DST\" \"$SCRIPT_OUTPUT_FILE_0: $BUILT_SRC\"\nfi\n\n# lipo script needs to know all the platform-specific files that have been built\n# archs is in the file name, so that paths don\'t stay around after archs change\n# must match input for LipoScript\nFILE_LIST=\"${DERIVED_FILE_DIR}/${ARCHS}-${EXECUTABLE_NAME}.xcfilelist\"\ntouch \"$FILE_LIST\"\nif ! egrep -q \"$SCRIPT_OUTPUT_FILE_0\" \"$FILE_LIST\" ; then\n echo >> \"$FILE_LIST\" \"$SCRIPT_OUTPUT_FILE_0\"\nfi\n"; + }; +/* End PBXBuildRule section */ + +/* Begin PBXFileReference section */ + + CA609C732349C7AAD9FA67C4 /* staticlib */ = { + isa = PBXFileReference; + explicitFileType = "archive.ar"; + includeInIndex = 0; + name = "libminimuxer_static.a"; + sourceTree = TARGET_BUILD_DIR; + }; + CA6012A875F93EF4668187A5 /* Cargo.toml */ = { + isa = PBXFileReference; + lastKnownFileType = text; + fileEncoding = 4; + name = "Cargo.toml"; + path = "/Users/jmattiello/Workspace/Provenance/SideStore/Dependencies/minimuxer/Cargo.toml"; + sourceTree = ""; + }; + /* Rust needs libresolv */ + ADDEDBA66A6E1 = { + isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; + name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; + }; + +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + CA6012A875F998AF0B5890DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E2, + + ); + name = Frameworks; + sourceTree = ""; + }; + + + ADDEDBA66A6E2 /* Required for static linking */ = { + isa = PBXGroup; + children = ( + ADDEDBA66A6E1 + ); + name = "Required for static linking"; + sourceTree = ""; + }; + + CA6012A875F922869D176AE5 /* Products */ = { + isa = PBXGroup; + children = ( + CA609C732349C7AAD9FA67C4, + + ); + name = Products; + sourceTree = ""; + }; + + CA6012A875F9D65BC3C892A8 /* Main */ = { + isa = PBXGroup; + children = ( + CA6012A875F93EF4668187A5, +CA6012A875F922869D176AE5, +CA6012A875F998AF0B5890DB, + + ); + sourceTree = ""; + }; + +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + CA609C732349A560B9642892 /* minimuxer-staticlib */ = { + isa = PBXNativeTarget; + buildConfigurationList = CA600589A243A560B9642892; + buildPhases = ( + CA600F638141A560B9642892 /* Sources */, + CA6012A875F9AF6EBB7F357C /* Universal Binary lipo */, + ); + buildRules = ( + CA6012A875F9AC6C1400ACA8 /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "minimuxer-staticlib"; + productName = "libminimuxer_static.a"; + productReference = CA609C732349C7AAD9FA67C4; + productType = "com.apple.product-type.library.static"; + }; + +/* End PBXNativeTarget section */ + + CA600F638141A560B9642892 = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CA6038F2DF2FA560B9642892 + ); + runOnlyForDeploymentPostprocessing = 0; + }; + + CA600589A243A560B9642892 /* staticlib */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CA602DE9FCEDA560B9642892 /* Release */, + CA6008D36272A560B9642892 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CA602DE9FCEDA560B9642892 /* staticlib */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "minimuxer_static"; + "CARGO_XCODE_CARGO_FILE_NAME" = "libminimuxer.a"; + "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libminimuxer.d"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SKIP_INSTALL = YES; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + + }; + name = Release; + }; + CA6008D36272A560B9642892 /* staticlib */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "minimuxer_static"; + "CARGO_XCODE_CARGO_FILE_NAME" = "libminimuxer.a"; + "CARGO_XCODE_CARGO_DEP_FILE_NAME" = "libminimuxer.d"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SKIP_INSTALL = YES; + INSTALL_GROUP = ""; + INSTALL_MODE_FLAG = ""; + INSTALL_OWNER = ""; + + }; + name = Debug; + }; + + CA6012A875F9AF6EBB7F357C /* LipoScript */ = { + name = "Universal Binary lipo"; + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = (); + inputFileListPaths = (); + inputPaths = ( + "$(DERIVED_FILE_DIR)/$(ARCHS)-$(EXECUTABLE_NAME).xcfilelist", + ); + outputFileListPaths = (); + outputPaths = ( + "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)" + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# generated with cargo-xcode 1.5.0\n\n set -eux; cat \"$DERIVED_FILE_DIR/$ARCHS-$EXECUTABLE_NAME.xcfilelist\" | tr \'\\n\' \'\\0\' | xargs -0 lipo -create -output \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n if [ ${LD_DYLIB_INSTALL_NAME:+1} ]; then\n install_name_tool -id \"$LD_DYLIB_INSTALL_NAME\" \"$TARGET_BUILD_DIR/$EXECUTABLE_PATH\"\n fi\n "; + }; + + CA6012A875F980E02D6C7F57 = { + isa = XCConfigurationList; + buildConfigurations = ( + CA60A20F8EA63CC16B37690B /* Release */, + CA60A20F8EA6228BE02872F8 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + + CA60A20F8EA63CC16B37690B = { + isa = XCBuildConfiguration; + buildSettings = { + + ALWAYS_SEARCH_USER_PATHS = NO; + SUPPORTS_MACCATALYST = YES; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ + CARGO_XCODE_FEATURES = ""; /* configure yourself */ + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; + PRODUCT_NAME = "minimuxer"; + MARKETING_VERSION = "0.1.0"; + CURRENT_PROJECT_VERSION = "0.1"; + SDKROOT = macosx; + + "CARGO_XCODE_BUILD_MODE" = "release"; /* for xcode scripts */ + }; + name = Release; + }; + + CA60A20F8EA6228BE02872F8 = { + isa = XCBuildConfiguration; + buildSettings = { + + ALWAYS_SEARCH_USER_PATHS = NO; + SUPPORTS_MACCATALYST = YES; + CARGO_TARGET_DIR = "$(PROJECT_TEMP_DIR)/cargo_target"; /* for cargo */ + CARGO_XCODE_FEATURES = ""; /* configure yourself */ + "CARGO_XCODE_TARGET_ARCH[arch=arm64*]" = "aarch64"; + "CARGO_XCODE_TARGET_ARCH[arch=x86_64*]" = "x86_64"; /* catalyst adds h suffix */ + "CARGO_XCODE_TARGET_ARCH[arch=i386]" = "i686"; + "CARGO_XCODE_TARGET_OS[sdk=macosx*]" = "darwin"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*]" = "ios-sim"; + "CARGO_XCODE_TARGET_OS[sdk=iphonesimulator*][arch=x86_64*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=iphoneos*]" = "ios"; + "CARGO_XCODE_TARGET_OS[sdk=appletvsimulator*]" = "tvos"; + "CARGO_XCODE_TARGET_OS[sdk=appletvos*]" = "tvos"; + PRODUCT_NAME = "minimuxer"; + MARKETING_VERSION = "0.1.0"; + CURRENT_PROJECT_VERSION = "0.1"; + SDKROOT = macosx; + + "CARGO_XCODE_BUILD_MODE" = "debug"; /* for xcode scripts */ + ONLY_ACTIVE_ARCH = YES; + }; + name = Debug; + }; + + CA6012A875F9E04653AD465F = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1300; + TargetAttributes = { + CA609C732349A560B9642892 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = CA6012A875F980E02D6C7F57; + compatibilityVersion = "Xcode 11.4"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CA6012A875F9D65BC3C892A8; + productRefGroup = CA6012A875F922869D176AE5 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + CA609C732349A560B9642892, + + ); + }; + + }; + rootObject = CA6012A875F9E04653AD465F; +} + \ No newline at end of file From 0c2dae475eb847e594ac3d4be6add9ab0a1449b2 Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 14:49:13 -0500 Subject: [PATCH 02/12] cargo: fix github action? Signed-off-by: Joseph Mattello --- .github/workflows/build.yml | 111 +++++++++++++++-------------- AltStore.xcodeproj/project.pbxproj | 30 ++++++++ Dependencies/update.sh | 10 +++ 3 files changed, 98 insertions(+), 53 deletions(-) create mode 100755 Dependencies/update.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fe056977..475909bf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,11 +1,11 @@ name: Build and Upload SideStore -on: +on: push: branches: - master - develop pull_request: - + jobs: build: name: Build and upload SideStore @@ -15,7 +15,7 @@ jobs: include: - os: 'macos-12' version: '14.0.0' - + runs-on: ${{ matrix.os }} steps: - name: Checkout code @@ -23,76 +23,81 @@ jobs: with: submodules: recursive - - name: Cache rust cargo - id: cache-rust-cargo - uses: actions/cache@v3 - env: - cache-name: cache-rust-cargo - with: - path: ~/.cargo - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + # - name: Cache rust cargo + # id: cache-rust-cargo + # uses: actions/cache@v3 + # env: + # cache-name: cache-rust-cargo + # with: + # path: ~/.cargo + # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + # restore-keys: | + # ${{ runner.os }}-build-${{ env.cache-name }}- + # ${{ runner.os }}-build- + # ${{ runner.os }}- - - name: Cache rust minimuxer - id: cache-rust-minimuxer - uses: actions/cache@v3 - env: - cache-name: cache-rust-minimuxer - with: - path: ./Dependencies/minimuxer/target - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + # - name: Cache rust minimuxer + # id: cache-rust-minimuxer + # uses: actions/cache@v3 + # env: + # cache-name: cache-rust-minimuxer + # with: + # path: ./Dependencies/minimuxer/target + # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + # restore-keys: | + # ${{ runner.os }}-build-${{ env.cache-name }}- + # ${{ runner.os }}-build- + # ${{ runner.os }}- - - name: Cache rust em_proxy - id: cache-rust-em_proxy - uses: actions/cache@v3 - env: - cache-name: cache-rust-em_proxy - with: - path: ./Dependencies/em_proxy/target - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + # - name: Cache rust em_proxy + # id: cache-rust-em_proxy + # uses: actions/cache@v3 + # env: + # cache-name: cache-rust-em_proxy + # with: + # path: ./Dependencies/em_proxy/target + # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + # restore-keys: | + # ${{ runner.os }}-build-${{ env.cache-name }}- + # ${{ runner.os }}-build- + # ${{ runner.os }}- + + # - name: Install dependencies + # run: brew install ldid + # - name: Install rustup + # uses: actions-rs/toolchain@v1 + # with: + # toolchain: stable + # override: true + # target: aarch64-apple-ios + # - name: Create emotional damage + # run: cd Dependencies/em_proxy && cargo build --release --target aarch64-apple-ios + # - name: Build minimuxer + # run: cd Dependencies/minimuxer && cargo build --release --target aarch64-apple-ios - - name: Install dependencies - run: brew install ldid - - name: Install rustup - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - override: true - target: aarch64-apple-ios - - name: Create emotional damage - run: cd Dependencies/em_proxy && cargo build --release --target aarch64-apple-ios - - name: Build minimuxer - run: cd Dependencies/minimuxer && cargo build --release --target aarch64-apple-ios - name: Setup Xcode uses: maxim-lobanov/setup-xcode@v1.4.1 with: xcode-version: ${{ matrix.version }} + - name: Build SideStore run: | rm -rf ~/Library/Developer/Xcode/DerivedData/ rm ./AltStore.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved xcodebuild -project AltStore.xcodeproj -scheme AltStore -sdk iphoneos archive -archivePath ./archive CODE_SIGNING_REQUIRED=NO AD_HOC_CODE_SIGNING_ALLOWED=YES CODE_SIGNING_ALLOWED=NO DEVELOPMENT_TEAM=XYZ0123456 ORG_IDENTIFIER=com.SideStore | xcpretty && exit ${PIPESTATUS[0]} + - name: Fakesign app - run: | + run: | rm -rf archive.xcarchive/Products/Applications/SideStore.app/Frameworks/AltStoreCore.framework/Frameworks/ ldid -SAltStore/Resources/tempEnt.plist archive.xcarchive/Products/Applications/SideStore.app/SideStore + - name: Convert to IPA - run: | + run: | mkdir Payload mkdir Payload/SideStore.app cp -R archive.xcarchive/Products/Applications/SideStore.app/ Payload/SideStore.app/ zip -r SideStore.ipa Payload + - name: Upload Artifact uses: actions/upload-artifact@v3.1.0 with: diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 4b541ead..60b4947c 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -36,6 +36,7 @@ B3146ED3284F581E00BBC3FD /* Roxas.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F84C295F6321002B1159 /* libminimuxer_static.a */; }; B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F853295F6323002B1159 /* libem_proxy_static.a */; }; + B343F86D295F759E002B1159 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F86C295F759E002B1159 /* libresolv.tbd */; }; B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; }; B3919A52292DBE5400519575 /* ProgressRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = D504F42528AD72C50014BB5D /* ProgressRing.swift */; }; B39575F5284F29E20080B4FF /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B39575F4284F29E20080B4FF /* Roxas.framework */; }; @@ -404,6 +405,20 @@ remoteGlobalIDString = CA60058A9FBE4D17AF51A7D5; remoteInfo = "run-bin"; }; + B343F86E295F76FD002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F847295F6321002B1159 /* minimuxer.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = CA609C732349A560B9642892; + remoteInfo = "minimuxer-staticlib"; + }; + B343F870295F7704002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = CA60C44C93D7A30E3695DD59; + remoteInfo = "em_proxy-staticlib"; + }; BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFD247622284B9A500981D42 /* Project object */; @@ -482,6 +497,7 @@ B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Roxas.xcodeproj; path = Dependencies/Roxas/Roxas.xcodeproj; sourceTree = ""; }; B343F847295F6321002B1159 /* minimuxer.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = minimuxer.xcodeproj; path = Dependencies/minimuxer.xcodeproj; sourceTree = SOURCE_ROOT; }; B343F84D295F6323002B1159 /* em_proxy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = em_proxy.xcodeproj; path = Dependencies/em_proxy.xcodeproj; sourceTree = SOURCE_ROOT; }; + B343F86C295F759E002B1159 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libresolv.tbd; sourceTree = DEVELOPER_DIR; }; B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = ""; }; B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = ""; }; @@ -811,6 +827,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + B343F86D295F759E002B1159 /* libresolv.tbd in Frameworks */, B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1506,6 +1523,7 @@ BFD247852284BB3300981D42 /* Frameworks */ = { isa = PBXGroup; children = ( + B343F86C295F759E002B1159 /* libresolv.tbd */, 191E5FB5290A5E1F001A3B7C /* libminimuxer.a */, 19104DA32909BC1000C49C7B /* libem_proxy.a */, B39575F4284F29E20080B4FF /* Roxas.framework */, @@ -1775,6 +1793,7 @@ buildRules = ( ); dependencies = ( + B343F871295F7704002B1159 /* PBXTargetDependency */, ); name = EmotionalDamage; productName = EmotionalDamage; @@ -1792,6 +1811,7 @@ buildRules = ( ); dependencies = ( + B343F86F295F76FD002B1159 /* PBXTargetDependency */, ); name = minimuxer; productName = minimuxer; @@ -2435,6 +2455,16 @@ isa = PBXTargetDependency; productRef = 191E5FD9290AFA49001A3B7C /* OpenSSL */; }; + B343F86F295F76FD002B1159 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "minimuxer-staticlib"; + targetProxy = B343F86E295F76FD002B1159 /* PBXContainerItemProxy */; + }; + B343F871295F7704002B1159 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "em_proxy-staticlib"; + targetProxy = B343F870295F7704002B1159 /* PBXContainerItemProxy */; + }; BF66EE842501AE50007EE018 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = BF66EE7D2501AE50007EE018 /* AltStoreCore */; diff --git a/Dependencies/update.sh b/Dependencies/update.sh new file mode 100755 index 00000000..bdcea4c2 --- /dev/null +++ b/Dependencies/update.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e; set -o pipefail; set -x; + +echo "Building Rust projects..." +cd em_proxy +cargo xcode --output-dir ../ +cd ../ +cd minimuxer +cargo xcode --output-dir ../ +echo "Done!" From 47b555b98cc6843717e26500a7a55b454a486b46 Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 14:56:52 -0500 Subject: [PATCH 03/12] project: fix wrong paths for depends Signed-off-by: Joseph Mattello --- AltStore.xcodeproj/project.pbxproj | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 60b4947c..61eaca05 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -938,7 +938,7 @@ 191E6062290B2D6B001A3B7C /* tlv.c */, 191E605F290B2D6B001A3B7C /* utils.c */, ); - name = "libimobiledevice-glue"; + path = "libimobiledevice-glue"; sourceTree = ""; }; B3146EC7284F580500BBC3FD /* Products */ = { @@ -1051,7 +1051,8 @@ BF4587972298D36400BD7491 /* libimobiledevice */, BF45883D2298D3E800BD7491 /* libusbmuxd */, ); - path = libimobiledevice; + name = libimobiledevice; + path = Dependencies; sourceTree = ""; }; BF4587972298D36400BD7491 /* libimobiledevice */ = { @@ -1109,7 +1110,7 @@ BF4587D62298D3A800BD7491 /* webinspector.c */, BF4587E92298D3AA00BD7491 /* webinspector.h */, ); - name = libimobiledevice; + path = libimobiledevice; sourceTree = ""; }; BF4588282298D3B400BD7491 /* common */ = { @@ -1136,7 +1137,7 @@ BF4588482298D55000BD7491 /* thread.c */, BF4588492298D55000BD7491 /* thread.h */, ); - name = libusbmuxd; + path = libusbmuxd; sourceTree = ""; }; BF4588562298DC6D00BD7491 /* libplist */ = { @@ -1175,7 +1176,7 @@ BFD52BF122A1A9CA000B7ED1 /* Uid.cpp */, BFD52C0022A1A9CB000B7ED1 /* xplist.c */, ); - name = libplist; + path = libplist; sourceTree = ""; }; BF4588892298DDEA00BD7491 /* libcnary */ = { From 8a037d6b29bb786b2f552810c0644284f5464e2c Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 14:57:05 -0500 Subject: [PATCH 04/12] update libmobiledevice to head Signed-off-by: Joseph Mattello --- Dependencies/libimobiledevice | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dependencies/libimobiledevice b/Dependencies/libimobiledevice index b314f04b..7a8e432e 160000 --- a/Dependencies/libimobiledevice +++ b/Dependencies/libimobiledevice @@ -1 +1 @@ -Subproject commit b314f04bd791b263cf43fadc6ac0756e67ab4ed0 +Subproject commit 7a8e432e9b492bd3e800861f435d1bbe751076b0 From df8a8de889f123b28104ee575c7f07e5e91bdcd6 Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 14:57:54 -0500 Subject: [PATCH 05/12] update libplist to head Signed-off-by: Joseph Mattello --- Dependencies/libplist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dependencies/libplist b/Dependencies/libplist index c3af4495..307fcc5f 160000 --- a/Dependencies/libplist +++ b/Dependencies/libplist @@ -1 +1 @@ -Subproject commit c3af449543795ad4d3ab178120ff69e90fdd2cc8 +Subproject commit 307fcc5f95f06ecd6fb7e3769450a923b8aaba26 From 31e18266d1b5241bd6a262623e3b4d1e41c8b7ef Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 14:58:31 -0500 Subject: [PATCH 06/12] build.yml updates formatting and xcode ver Signed-off-by: Joseph Mattello --- .github/workflows/build.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 475909bf..12561122 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: matrix: include: - os: 'macos-12' - version: '14.0.0' + version: '14.2' runs-on: ${{ matrix.os }} steps: @@ -82,9 +82,16 @@ jobs: - name: Build SideStore run: | - rm -rf ~/Library/Developer/Xcode/DerivedData/ - rm ./AltStore.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved - xcodebuild -project AltStore.xcodeproj -scheme AltStore -sdk iphoneos archive -archivePath ./archive CODE_SIGNING_REQUIRED=NO AD_HOC_CODE_SIGNING_ALLOWED=YES CODE_SIGNING_ALLOWED=NO DEVELOPMENT_TEAM=XYZ0123456 ORG_IDENTIFIER=com.SideStore | xcpretty && exit ${PIPESTATUS[0]} + xcodebuild -project AltStore.xcodeproj \ + -scheme AltStore \ + -sdk iphoneos \ + archive -archivePath ./archive \ + CODE_SIGNING_REQUIRED=NO \ + AD_HOC_CODE_SIGNING_ALLOWED=YES \ + CODE_SIGNING_ALLOWED=NO \ + DEVELOPMENT_TEAM=XYZ0123456 \ + ORG_IDENTIFIER=com.SideStore \ + | xcpretty && exit ${PIPESTATUS[0]} - name: Fakesign app run: | From 61247e575b833ab96f16748b2d0f89372501024d Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 15:17:47 -0500 Subject: [PATCH 07/12] fix build for updated submodules Signed-off-by: Joseph Mattello --- AltStore.xcodeproj/project.pbxproj | 193 ++++++++++++----------------- 1 file changed, 82 insertions(+), 111 deletions(-) diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 61eaca05..98c462dd 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -14,17 +14,6 @@ 191E5FAE290A5D92001A3B7C /* minimuxer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 191E5FAD290A5D92001A3B7C /* minimuxer.swift */; }; 191E5FB4290A5DA0001A3B7C /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FAB290A5D92001A3B7C /* libminimuxer.a */; }; 191E5FDC290AFA5C001A3B7C /* OpenSSL in Frameworks */ = {isa = PBXBuildFile; productRef = 191E5FDB290AFA5C001A3B7C /* OpenSSL */; }; - 191E6066290B2DB1001A3B7C /* cbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E605E290B2D6B001A3B7C /* cbuf.c */; }; - 191E6067290B2DB3001A3B7C /* collection.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6060290B2D6B001A3B7C /* collection.c */; }; - 191E6068290B2DB5001A3B7C /* glue.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E605D290B2D6B001A3B7C /* glue.c */; }; - 191E6069290B2DB7001A3B7C /* opack.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6061290B2D6B001A3B7C /* opack.c */; }; - 191E606A290B2DC4001A3B7C /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6064290B2D6B001A3B7C /* socket.c */; }; - 191E606B290B2DC6001A3B7C /* termcolors.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6065290B2D6B001A3B7C /* termcolors.c */; }; - 191E606C290B2DC8001A3B7C /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6063290B2D6B001A3B7C /* thread.c */; }; - 191E606D290B2DCA001A3B7C /* tlv.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6062290B2D6B001A3B7C /* tlv.c */; }; - 191E606E290B2DCB001A3B7C /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E605F290B2D6B001A3B7C /* utils.c */; }; - 191E6075290B2E46001A3B7C /* companion_proxy.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6073290B2E02001A3B7C /* companion_proxy.c */; }; - 191E6076290B2E48001A3B7C /* preboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E6074290B2E02001A3B7C /* preboard.c */; }; 191E607D290B2EA5001A3B7C /* jsmn.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E5FD0290A651D001A3B7C /* jsmn.c */; }; 191E607E290B2EA7001A3B7C /* jplist.c in Sources */ = {isa = PBXBuildFile; fileRef = 191E5FCF290A651D001A3B7C /* jplist.c */; }; 191E6087290C7B50001A3B7C /* libminimuxer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 191E5FB5290A5E1F001A3B7C /* libminimuxer.a */; }; @@ -37,6 +26,15 @@ B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F84C295F6321002B1159 /* libminimuxer_static.a */; }; B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F853295F6323002B1159 /* libem_proxy_static.a */; }; B343F86D295F759E002B1159 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F86C295F759E002B1159 /* libresolv.tbd */; }; + B343F87C295F7C5D002B1159 /* opack.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F872295F7C5C002B1159 /* opack.c */; }; + B343F87D295F7C5D002B1159 /* cbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F873295F7C5C002B1159 /* cbuf.c */; }; + B343F87E295F7C5D002B1159 /* collection.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F874295F7C5D002B1159 /* collection.c */; }; + B343F87F295F7C5D002B1159 /* glue.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F875295F7C5D002B1159 /* glue.c */; }; + B343F880295F7C5D002B1159 /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F876295F7C5D002B1159 /* socket.c */; }; + B343F881295F7C5D002B1159 /* termcolors.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F877295F7C5D002B1159 /* termcolors.c */; }; + B343F883295F7C5D002B1159 /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F879295F7C5D002B1159 /* thread.c */; }; + B343F884295F7C5D002B1159 /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F87A295F7C5D002B1159 /* utils.c */; }; + B343F885295F7C5D002B1159 /* tlv.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F87B295F7C5D002B1159 /* tlv.c */; }; B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; }; B3919A52292DBE5400519575 /* ProgressRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = D504F42528AD72C50014BB5D /* ProgressRing.swift */; }; B39575F5284F29E20080B4FF /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B39575F4284F29E20080B4FF /* Roxas.framework */; }; @@ -121,13 +119,10 @@ BF4588252298D3AB00BD7491 /* property_list_service.h in Headers */ = {isa = PBXBuildFile; fileRef = BF4587F52298D3AA00BD7491 /* property_list_service.h */; }; BF4588262298D3AB00BD7491 /* lockdown.c in Sources */ = {isa = PBXBuildFile; fileRef = BF4587F62298D3AB00BD7491 /* lockdown.c */; }; BF4588272298D3AB00BD7491 /* service.c in Sources */ = {isa = PBXBuildFile; fileRef = BF4587F72298D3AB00BD7491 /* service.c */; }; - BF4588332298D3C100BD7491 /* socket.h in Headers */ = {isa = PBXBuildFile; fileRef = BF4588292298D3C000BD7491 /* socket.h */; }; BF4588342298D3C100BD7491 /* userpref.h in Headers */ = {isa = PBXBuildFile; fileRef = BF45882A2298D3C000BD7491 /* userpref.h */; }; BF4588352298D3C100BD7491 /* userpref.c in Sources */ = {isa = PBXBuildFile; fileRef = BF45882B2298D3C000BD7491 /* userpref.c */; }; BF4588362298D3C100BD7491 /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = BF45882C2298D3C000BD7491 /* debug.h */; }; BF45883A2298D3C100BD7491 /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = BF4588302298D3C000BD7491 /* debug.c */; }; - BF45883C2298D3C100BD7491 /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = BF4588322298D3C100BD7491 /* utils.h */; }; - BF4588402298D3F800BD7491 /* collection.h in Headers */ = {isa = PBXBuildFile; fileRef = BF45883E2298D3F800BD7491 /* collection.h */; }; BF4588432298D40000BD7491 /* libusbmuxd.c in Sources */ = {isa = PBXBuildFile; fileRef = BF4588422298D40000BD7491 /* libusbmuxd.c */; }; BF4B78FE24B3D1DB008AB4AC /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF4B78FD24B3D1DB008AB4AC /* SceneDelegate.swift */; }; BF56D2AC23DF8E170006506D /* FetchAppIDsOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF56D2AB23DF8E170006506D /* FetchAppIDsOperation.swift */; }; @@ -481,23 +476,21 @@ 191E5FD0290A651D001A3B7C /* jsmn.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jsmn.c; path = Dependencies/libplist/src/jsmn.c; sourceTree = SOURCE_ROOT; }; 191E5FD1290A651D001A3B7C /* jsmn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jsmn.h; path = Dependencies/libplist/src/jsmn.h; sourceTree = SOURCE_ROOT; }; 191E5FD7290A6EFB001A3B7C /* minimuxer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = minimuxer.h; path = ../Dependencies/minimuxer/minimuxer.h; sourceTree = ""; }; - 191E605D290B2D6B001A3B7C /* glue.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = glue.c; path = "../Dependencies/libimobiledevice-glue/src/glue.c"; sourceTree = ""; }; - 191E605E290B2D6B001A3B7C /* cbuf.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cbuf.c; path = "../Dependencies/libimobiledevice-glue/src/cbuf.c"; sourceTree = ""; }; - 191E605F290B2D6B001A3B7C /* utils.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = utils.c; path = "../Dependencies/libimobiledevice-glue/src/utils.c"; sourceTree = ""; }; - 191E6060290B2D6B001A3B7C /* collection.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = collection.c; path = "../Dependencies/libimobiledevice-glue/src/collection.c"; sourceTree = ""; }; - 191E6061290B2D6B001A3B7C /* opack.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = opack.c; path = "../Dependencies/libimobiledevice-glue/src/opack.c"; sourceTree = ""; }; - 191E6062290B2D6B001A3B7C /* tlv.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = tlv.c; path = "../Dependencies/libimobiledevice-glue/src/tlv.c"; sourceTree = ""; }; - 191E6063290B2D6B001A3B7C /* thread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = thread.c; path = "../Dependencies/libimobiledevice-glue/src/thread.c"; sourceTree = ""; }; - 191E6064290B2D6B001A3B7C /* socket.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = socket.c; path = "../Dependencies/libimobiledevice-glue/src/socket.c"; sourceTree = ""; }; - 191E6065290B2D6B001A3B7C /* termcolors.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = termcolors.c; path = "../Dependencies/libimobiledevice-glue/src/termcolors.c"; sourceTree = ""; }; - 191E6073290B2E02001A3B7C /* companion_proxy.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = companion_proxy.c; path = ../Dependencies/libimobiledevice/src/companion_proxy.c; sourceTree = ""; }; - 191E6074290B2E02001A3B7C /* preboard.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = preboard.c; path = ../Dependencies/libimobiledevice/src/preboard.c; sourceTree = ""; }; 1920B04E2924AC8300744F60 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; 19B9B7442845E6DF0076EF69 /* SelectTeamViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectTeamViewController.swift; sourceTree = ""; }; B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Roxas.xcodeproj; path = Dependencies/Roxas/Roxas.xcodeproj; sourceTree = ""; }; B343F847295F6321002B1159 /* minimuxer.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = minimuxer.xcodeproj; path = Dependencies/minimuxer.xcodeproj; sourceTree = SOURCE_ROOT; }; B343F84D295F6323002B1159 /* em_proxy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = em_proxy.xcodeproj; path = Dependencies/em_proxy.xcodeproj; sourceTree = SOURCE_ROOT; }; B343F86C295F759E002B1159 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libresolv.tbd; sourceTree = DEVELOPER_DIR; }; + B343F872295F7C5C002B1159 /* opack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opack.c; sourceTree = ""; }; + B343F873295F7C5C002B1159 /* cbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cbuf.c; sourceTree = ""; }; + B343F874295F7C5D002B1159 /* collection.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = collection.c; sourceTree = ""; }; + B343F875295F7C5D002B1159 /* glue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = glue.c; sourceTree = ""; }; + B343F876295F7C5D002B1159 /* socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = socket.c; sourceTree = ""; }; + B343F877295F7C5D002B1159 /* termcolors.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = termcolors.c; sourceTree = ""; }; + B343F879295F7C5D002B1159 /* thread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = thread.c; sourceTree = ""; }; + B343F87A295F7C5D002B1159 /* utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utils.c; sourceTree = ""; }; + B343F87B295F7C5D002B1159 /* tlv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tlv.c; sourceTree = ""; }; B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = ""; }; B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = ""; }; @@ -592,19 +585,11 @@ BF4587F52298D3AA00BD7491 /* property_list_service.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = property_list_service.h; path = Dependencies/libimobiledevice/src/property_list_service.h; sourceTree = SOURCE_ROOT; }; BF4587F62298D3AB00BD7491 /* lockdown.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lockdown.c; path = Dependencies/libimobiledevice/src/lockdown.c; sourceTree = SOURCE_ROOT; }; BF4587F72298D3AB00BD7491 /* service.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = service.c; path = Dependencies/libimobiledevice/src/service.c; sourceTree = SOURCE_ROOT; }; - BF4588292298D3C000BD7491 /* socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = socket.h; path = Dependencies/libimobiledevice/common/socket.h; sourceTree = SOURCE_ROOT; }; BF45882A2298D3C000BD7491 /* userpref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = userpref.h; path = Dependencies/libimobiledevice/common/userpref.h; sourceTree = SOURCE_ROOT; }; BF45882B2298D3C000BD7491 /* userpref.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = userpref.c; path = Dependencies/libimobiledevice/common/userpref.c; sourceTree = SOURCE_ROOT; }; BF45882C2298D3C000BD7491 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = debug.h; path = Dependencies/libimobiledevice/common/debug.h; sourceTree = SOURCE_ROOT; }; - BF45882D2298D3C000BD7491 /* utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = utils.c; path = Dependencies/libimobiledevice/common/utils.c; sourceTree = SOURCE_ROOT; }; - BF45882F2298D3C000BD7491 /* socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = socket.c; path = Dependencies/libimobiledevice/common/socket.c; sourceTree = SOURCE_ROOT; }; BF4588302298D3C000BD7491 /* debug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = debug.c; path = Dependencies/libimobiledevice/common/debug.c; sourceTree = SOURCE_ROOT; }; - BF4588322298D3C100BD7491 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = Dependencies/libimobiledevice/common/utils.h; sourceTree = SOURCE_ROOT; }; - BF45883E2298D3F800BD7491 /* collection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = collection.h; path = Dependencies/libusbmuxd/common/collection.h; sourceTree = SOURCE_ROOT; }; - BF45883F2298D3F800BD7491 /* collection.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = collection.c; path = Dependencies/libusbmuxd/common/collection.c; sourceTree = SOURCE_ROOT; }; BF4588422298D40000BD7491 /* libusbmuxd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = libusbmuxd.c; path = Dependencies/libusbmuxd/src/libusbmuxd.c; sourceTree = SOURCE_ROOT; }; - BF4588482298D55000BD7491 /* thread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = thread.c; path = Dependencies/libusbmuxd/common/thread.c; sourceTree = SOURCE_ROOT; }; - BF4588492298D55000BD7491 /* thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = thread.h; path = Dependencies/libusbmuxd/common/thread.h; sourceTree = SOURCE_ROOT; }; BF4588872298DD3F00BD7491 /* libxml2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libxml2.tbd; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib/libxml2.tbd; sourceTree = DEVELOPER_DIR; }; BF4B78FD24B3D1DB008AB4AC /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; BF56D2AB23DF8E170006506D /* FetchAppIDsOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FetchAppIDsOperation.swift; sourceTree = ""; }; @@ -928,17 +913,18 @@ 191E5FF4290B2663001A3B7C /* libimobiledevice-glue */ = { isa = PBXGroup; children = ( - 191E605E290B2D6B001A3B7C /* cbuf.c */, - 191E6060290B2D6B001A3B7C /* collection.c */, - 191E605D290B2D6B001A3B7C /* glue.c */, - 191E6061290B2D6B001A3B7C /* opack.c */, - 191E6064290B2D6B001A3B7C /* socket.c */, - 191E6065290B2D6B001A3B7C /* termcolors.c */, - 191E6063290B2D6B001A3B7C /* thread.c */, - 191E6062290B2D6B001A3B7C /* tlv.c */, - 191E605F290B2D6B001A3B7C /* utils.c */, + B343F873295F7C5C002B1159 /* cbuf.c */, + B343F874295F7C5D002B1159 /* collection.c */, + B343F875295F7C5D002B1159 /* glue.c */, + B343F872295F7C5C002B1159 /* opack.c */, + B343F876295F7C5D002B1159 /* socket.c */, + B343F877295F7C5D002B1159 /* termcolors.c */, + B343F879295F7C5D002B1159 /* thread.c */, + B343F87B295F7C5D002B1159 /* tlv.c */, + B343F87A295F7C5D002B1159 /* utils.c */, ); - path = "libimobiledevice-glue"; + name = "libimobiledevice-glue"; + path = "libimobiledevice-glue/src"; sourceTree = ""; }; B3146EC7284F580500BBC3FD /* Products */ = { @@ -1058,57 +1044,55 @@ BF4587972298D36400BD7491 /* libimobiledevice */ = { isa = PBXGroup; children = ( - BF4588282298D3B400BD7491 /* common */, BF4587D72298D3A800BD7491 /* afc.c */, - BF4587EC2298D3AA00BD7491 /* afc.h */, BF4587DF2298D3A900BD7491 /* debugserver.c */, - BF4587DE2298D3A900BD7491 /* debugserver.h */, BF4587E42298D3A900BD7491 /* device_link_service.c */, - 191E6073290B2E02001A3B7C /* companion_proxy.c */, - 191E6074290B2E02001A3B7C /* preboard.c */, - BF4587EF2298D3AA00BD7491 /* device_link_service.h */, BF4587C92298D3A800BD7491 /* diagnostics_relay.c */, - BF4587CA2298D3A800BD7491 /* diagnostics_relay.h */, BF4587D22298D3A800BD7491 /* file_relay.c */, - BF4587ED2298D3AA00BD7491 /* file_relay.h */, BF4587CF2298D3A800BD7491 /* heartbeat.c */, - BF4587E02298D3A900BD7491 /* heartbeat.h */, BF4587EB2298D3AA00BD7491 /* house_arrest.c */, - BF4587E22298D3A900BD7491 /* house_arrest.h */, BF4587F12298D3AA00BD7491 /* idevice.c */, - BF4587D52298D3A800BD7491 /* idevice.h */, BF4587D92298D3A900BD7491 /* installation_proxy.c */, - BF4587D12298D3A800BD7491 /* installation_proxy.h */, BF4587F62298D3AB00BD7491 /* lockdown.c */, - BF4587D42298D3A800BD7491 /* lockdown.h */, BF4587EE2298D3AA00BD7491 /* misagent.c */, - BF4587E12298D3A900BD7491 /* misagent.h */, BF4587D82298D3A800BD7491 /* mobile_image_mounter.c */, - BF4587F02298D3AA00BD7491 /* mobile_image_mounter.h */, BF4587F22298D3AA00BD7491 /* mobileactivation.c */, - BF4587EA2298D3AA00BD7491 /* mobileactivation.h */, BF4587DD2298D3A900BD7491 /* mobilebackup.c */, - BF4587E52298D3A900BD7491 /* mobilebackup.h */, BF4587DC2298D3A900BD7491 /* mobilebackup2.c */, - BF4587CE2298D3A800BD7491 /* mobilebackup2.h */, BF4587F32298D3AA00BD7491 /* mobilesync.c */, - BF4587DB2298D3A900BD7491 /* mobilesync.h */, BF4587CB2298D3A800BD7491 /* notification_proxy.c */, - BF4587E32298D3A900BD7491 /* notification_proxy.h */, BF4587F42298D3AA00BD7491 /* property_list_service.c */, - BF4587F52298D3AA00BD7491 /* property_list_service.h */, BF4587E62298D3A900BD7491 /* restore.c */, - BF4587D02298D3A800BD7491 /* restore.h */, BF4587CC2298D3A800BD7491 /* sbservices.c */, - BF4587CD2298D3A800BD7491 /* sbservices.h */, BF4587E72298D3A900BD7491 /* screenshotr.c */, - BF4587DA2298D3A900BD7491 /* screenshotr.h */, BF4587F72298D3AB00BD7491 /* service.c */, - BF4587C82298D3A800BD7491 /* service.h */, BF4587D32298D3A800BD7491 /* syslog_relay.c */, - BF4587E82298D3A900BD7491 /* syslog_relay.h */, BF4587D62298D3A800BD7491 /* webinspector.c */, + BF4587EC2298D3AA00BD7491 /* afc.h */, + BF4587DE2298D3A900BD7491 /* debugserver.h */, + BF4587EF2298D3AA00BD7491 /* device_link_service.h */, + BF4587CA2298D3A800BD7491 /* diagnostics_relay.h */, + BF4587ED2298D3AA00BD7491 /* file_relay.h */, + BF4587E02298D3A900BD7491 /* heartbeat.h */, + BF4587E22298D3A900BD7491 /* house_arrest.h */, + BF4587D52298D3A800BD7491 /* idevice.h */, + BF4587D12298D3A800BD7491 /* installation_proxy.h */, + BF4587D42298D3A800BD7491 /* lockdown.h */, + BF4587E12298D3A900BD7491 /* misagent.h */, + BF4587F02298D3AA00BD7491 /* mobile_image_mounter.h */, + BF4587EA2298D3AA00BD7491 /* mobileactivation.h */, + BF4587E52298D3A900BD7491 /* mobilebackup.h */, + BF4587CE2298D3A800BD7491 /* mobilebackup2.h */, + BF4587DB2298D3A900BD7491 /* mobilesync.h */, + BF4587E32298D3A900BD7491 /* notification_proxy.h */, + BF4587F52298D3AA00BD7491 /* property_list_service.h */, + BF4587D02298D3A800BD7491 /* restore.h */, + BF4587CD2298D3A800BD7491 /* sbservices.h */, + BF4587DA2298D3A900BD7491 /* screenshotr.h */, + BF4587C82298D3A800BD7491 /* service.h */, + BF4587E82298D3A900BD7491 /* syslog_relay.h */, BF4587E92298D3AA00BD7491 /* webinspector.h */, + BF4588282298D3B400BD7491 /* common */, ); path = libimobiledevice; sourceTree = ""; @@ -1117,13 +1101,9 @@ isa = PBXGroup; children = ( BF4588302298D3C000BD7491 /* debug.c */, - BF45882C2298D3C000BD7491 /* debug.h */, - BF45882F2298D3C000BD7491 /* socket.c */, - BF4588292298D3C000BD7491 /* socket.h */, BF45882B2298D3C000BD7491 /* userpref.c */, + BF45882C2298D3C000BD7491 /* debug.h */, BF45882A2298D3C000BD7491 /* userpref.h */, - BF45882D2298D3C000BD7491 /* utils.c */, - BF4588322298D3C100BD7491 /* utils.h */, ); name = common; sourceTree = ""; @@ -1132,10 +1112,6 @@ isa = PBXGroup; children = ( BF4588422298D40000BD7491 /* libusbmuxd.c */, - BF45883F2298D3F800BD7491 /* collection.c */, - BF45883E2298D3F800BD7491 /* collection.h */, - BF4588482298D55000BD7491 /* thread.c */, - BF4588492298D55000BD7491 /* thread.h */, ); path = libusbmuxd; sourceTree = ""; @@ -1143,38 +1119,38 @@ BF4588562298DC6D00BD7491 /* libplist */ = { isa = PBXGroup; children = ( - BF4588892298DDEA00BD7491 /* libcnary */, - BFD52BF822A1A9CB000B7ED1 /* Array.cpp */, BFD52BE622A1A9CA000B7ED1 /* base64.c */, - BFD52BF622A1A9CA000B7ED1 /* base64.h */, - BFD52BF222A1A9CA000B7ED1 /* Boolean.cpp */, - 191E5FD1290A651D001A3B7C /* jsmn.h */, - 191E5FD0290A651D001A3B7C /* jsmn.c */, - 191E5FCF290A651D001A3B7C /* jplist.c */, BFD52BEA22A1A9CA000B7ED1 /* bplist.c */, BFD52BF522A1A9CA000B7ED1 /* bytearray.c */, - BFD52BFA22A1A9CB000B7ED1 /* bytearray.h */, + BFD52BE722A1A9CA000B7ED1 /* hashtable.c */, + 191E5FCF290A651D001A3B7C /* jplist.c */, + 191E5FD0290A651D001A3B7C /* jsmn.c */, + BFD52BEE22A1A9CA000B7ED1 /* plist.c */, + BFD52BE522A1A9CA000B7ED1 /* ptrarray.c */, + BFD52BEC22A1A9CA000B7ED1 /* time64.c */, + BFD52C0022A1A9CB000B7ED1 /* xplist.c */, + BFD52BF822A1A9CB000B7ED1 /* Array.cpp */, + BFD52BF222A1A9CA000B7ED1 /* Boolean.cpp */, BFD52BF722A1A9CA000B7ED1 /* Data.cpp */, BFD52BF022A1A9CA000B7ED1 /* Date.cpp */, BFD52BE822A1A9CA000B7ED1 /* Dictionary.cpp */, - BFD52BE722A1A9CA000B7ED1 /* hashtable.c */, - BFD52BEF22A1A9CA000B7ED1 /* hashtable.h */, BFD52BFC22A1A9CB000B7ED1 /* Integer.cpp */, BFD52BFB22A1A9CB000B7ED1 /* Key.cpp */, BFD52BF922A1A9CB000B7ED1 /* Node.cpp */, - BFD52BEE22A1A9CA000B7ED1 /* plist.c */, - BFD52BED22A1A9CA000B7ED1 /* plist.h */, - BFD52BE522A1A9CA000B7ED1 /* ptrarray.c */, - BFD52BE922A1A9CA000B7ED1 /* ptrarray.h */, BFD52BF322A1A9CA000B7ED1 /* Real.cpp */, - BFD52BF422A1A9CA000B7ED1 /* strbuf.h */, BFD52BEB22A1A9CA000B7ED1 /* String.cpp */, BFD52BFD22A1A9CB000B7ED1 /* Structure.cpp */, - BFD52BFE22A1A9CB000B7ED1 /* time64_limits.h */, - BFD52BEC22A1A9CA000B7ED1 /* time64.c */, - BFD52BFF22A1A9CB000B7ED1 /* time64.h */, BFD52BF122A1A9CA000B7ED1 /* Uid.cpp */, - BFD52C0022A1A9CB000B7ED1 /* xplist.c */, + BFD52BF622A1A9CA000B7ED1 /* base64.h */, + BFD52BFA22A1A9CB000B7ED1 /* bytearray.h */, + BFD52BEF22A1A9CA000B7ED1 /* hashtable.h */, + 191E5FD1290A651D001A3B7C /* jsmn.h */, + BFD52BED22A1A9CA000B7ED1 /* plist.h */, + BFD52BE922A1A9CA000B7ED1 /* ptrarray.h */, + BFD52BF422A1A9CA000B7ED1 /* strbuf.h */, + BFD52BFE22A1A9CB000B7ED1 /* time64_limits.h */, + BFD52BFF22A1A9CB000B7ED1 /* time64.h */, + BF4588892298DDEA00BD7491 /* libcnary */, ); path = libplist; sourceTree = ""; @@ -1728,10 +1704,8 @@ files = ( BF4588112298D3AB00BD7491 /* misagent.h in Headers */, BF4588042298D3AB00BD7491 /* lockdown.h in Headers */, - BF4588402298D3F800BD7491 /* collection.h in Headers */, BF45880B2298D3AB00BD7491 /* mobilesync.h in Headers */, BF4588002298D3AB00BD7491 /* restore.h in Headers */, - BF4588332298D3C100BD7491 /* socket.h in Headers */, BF4588152298D3AB00BD7491 /* mobilebackup.h in Headers */, BF4588182298D3AB00BD7491 /* syslog_relay.h in Headers */, BFD52C1022A1A9CB000B7ED1 /* strbuf.h in Headers */, @@ -1751,7 +1725,6 @@ BF4588192298D3AB00BD7491 /* webinspector.h in Headers */, BF4588342298D3C100BD7491 /* userpref.h in Headers */, BF45880A2298D3AB00BD7491 /* screenshotr.h in Headers */, - BF45883C2298D3C100BD7491 /* utils.h in Headers */, BFD52C0B22A1A9CB000B7ED1 /* hashtable.h in Headers */, BF4587FE2298D3AB00BD7491 /* mobilebackup2.h in Headers */, BFD52C0522A1A9CB000B7ED1 /* ptrarray.h in Headers */, @@ -2186,22 +2159,11 @@ BFD52C0622A1A9CB000B7ED1 /* bplist.c in Sources */, BF4588232298D3AB00BD7491 /* mobilesync.c in Sources */, BF4588072298D3AB00BD7491 /* afc.c in Sources */, - 191E6066290B2DB1001A3B7C /* cbuf.c in Sources */, 191E607D290B2EA5001A3B7C /* jsmn.c in Sources */, - 191E6067290B2DB3001A3B7C /* collection.c in Sources */, - 191E6075290B2E46001A3B7C /* companion_proxy.c in Sources */, 191E607E290B2EA7001A3B7C /* jplist.c in Sources */, - 191E6076290B2E48001A3B7C /* preboard.c in Sources */, BF4588082298D3AB00BD7491 /* mobile_image_mounter.c in Sources */, - 191E6068290B2DB5001A3B7C /* glue.c in Sources */, BFD52C1122A1A9CB000B7ED1 /* bytearray.c in Sources */, BF4588022298D3AB00BD7491 /* file_relay.c in Sources */, - 191E6069290B2DB7001A3B7C /* opack.c in Sources */, - 191E606A290B2DC4001A3B7C /* socket.c in Sources */, - 191E606E290B2DCB001A3B7C /* utils.c in Sources */, - 191E606B290B2DC6001A3B7C /* termcolors.c in Sources */, - 191E606C290B2DC8001A3B7C /* thread.c in Sources */, - 191E606D290B2DCA001A3B7C /* tlv.c in Sources */, BF45880F2298D3AB00BD7491 /* debugserver.c in Sources */, BF4588162298D3AB00BD7491 /* restore.c in Sources */, BFD52C0422A1A9CB000B7ED1 /* Dictionary.cpp in Sources */, @@ -2212,25 +2174,34 @@ BF4588222298D3AB00BD7491 /* mobileactivation.c in Sources */, BFD52C1822A1A9CB000B7ED1 /* Integer.cpp in Sources */, BF4588212298D3AB00BD7491 /* idevice.c in Sources */, + B343F885295F7C5D002B1159 /* tlv.c in Sources */, BFD52C1C22A1A9CB000B7ED1 /* xplist.c in Sources */, BF4587F92298D3AB00BD7491 /* diagnostics_relay.c in Sources */, + B343F87D295F7C5D002B1159 /* cbuf.c in Sources */, BF4588062298D3AB00BD7491 /* webinspector.c in Sources */, BFD52C1722A1A9CB000B7ED1 /* Key.cpp in Sources */, + B343F883295F7C5D002B1159 /* thread.c in Sources */, BF45880D2298D3AB00BD7491 /* mobilebackup.c in Sources */, BFD52C0C22A1A9CB000B7ED1 /* Date.cpp in Sources */, BFD52C0A22A1A9CB000B7ED1 /* plist.c in Sources */, BFD52C1322A1A9CB000B7ED1 /* Data.cpp in Sources */, BF45883A2298D3C100BD7491 /* debug.c in Sources */, + B343F881295F7C5D002B1159 /* termcolors.c in Sources */, + B343F87E295F7C5D002B1159 /* collection.c in Sources */, BFD52C0F22A1A9CB000B7ED1 /* Real.cpp in Sources */, BF4587FB2298D3AB00BD7491 /* notification_proxy.c in Sources */, BF4588352298D3C100BD7491 /* userpref.c in Sources */, BFD52C0122A1A9CB000B7ED1 /* ptrarray.c in Sources */, + B343F87C295F7C5D002B1159 /* opack.c in Sources */, BFD52C0E22A1A9CB000B7ED1 /* Boolean.cpp in Sources */, BFD52C0822A1A9CB000B7ED1 /* time64.c in Sources */, + B343F884295F7C5D002B1159 /* utils.c in Sources */, BFD52C2122A1A9EC000B7ED1 /* node_list.c in Sources */, + B343F87F295F7C5D002B1159 /* glue.c in Sources */, BFD52C1422A1A9CB000B7ED1 /* Array.cpp in Sources */, BF4588242298D3AB00BD7491 /* property_list_service.c in Sources */, BF45881E2298D3AB00BD7491 /* misagent.c in Sources */, + B343F880295F7C5D002B1159 /* socket.c in Sources */, BF4587FC2298D3AB00BD7491 /* sbservices.c in Sources */, BFD52C1522A1A9CB000B7ED1 /* Node.cpp in Sources */, BF4588142298D3AB00BD7491 /* device_link_service.c in Sources */, From b2cbc7e34daca663cbeb0b8ab7be787dd4460120 Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 15:17:55 -0500 Subject: [PATCH 08/12] github action please work Signed-off-by: Joseph Mattello --- .github/workflows/build.yml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 12561122..8c7c73a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,16 +62,19 @@ jobs: # ${{ runner.os }}-build- # ${{ runner.os }}- - # - name: Install dependencies - # run: brew install ldid - # - name: Install rustup - # uses: actions-rs/toolchain@v1 - # with: - # toolchain: stable - # override: true - # target: aarch64-apple-ios + - name: Install dependencies + run: brew install ldid + + - name: Install rustup + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + target: aarch64-apple-ios + # - name: Create emotional damage # run: cd Dependencies/em_proxy && cargo build --release --target aarch64-apple-ios + # - name: Build minimuxer # run: cd Dependencies/minimuxer && cargo build --release --target aarch64-apple-ios From 2b419212a7133add88ebe1ebdd2c5813beaa3deb Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 15:23:06 -0500 Subject: [PATCH 09/12] replace fragmentzip.a with xcodeproj Signed-off-by: Joseph Mattello --- .gitmodules | 3 + AltStore.xcodeproj/project.pbxproj | 77 +++++++++++++++++++++- Dependencies/fragmentzip/libfragmentzip.a | Bin 12472 -> 0 bytes Dependencies/libfragmentzip | 1 + 4 files changed, 79 insertions(+), 2 deletions(-) delete mode 100644 Dependencies/fragmentzip/libfragmentzip.a create mode 160000 Dependencies/libfragmentzip diff --git a/.gitmodules b/.gitmodules index 5e8a821f..e1529c9c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,3 +22,6 @@ [submodule "Dependencies/minimuxer"] path = Dependencies/minimuxer url = https://github.com/jkcoxson/minimuxer +[submodule "Dependencies/libfragmentzip"] + path = Dependencies/libfragmentzip + url = https://github.com/SideStore/libfragmentzip.git diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 98c462dd..51d36a65 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -35,6 +35,7 @@ B343F883295F7C5D002B1159 /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F879295F7C5D002B1159 /* thread.c */; }; B343F884295F7C5D002B1159 /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F87A295F7C5D002B1159 /* utils.c */; }; B343F885295F7C5D002B1159 /* tlv.c in Sources */ = {isa = PBXBuildFile; fileRef = B343F87B295F7C5D002B1159 /* tlv.c */; }; + B343F895295F7FAC002B1159 /* libfragmentzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F894295F7F9B002B1159 /* libfragmentzip.a */; }; B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; }; B3919A52292DBE5400519575 /* ProgressRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = D504F42528AD72C50014BB5D /* ProgressRing.swift */; }; B39575F5284F29E20080B4FF /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B39575F4284F29E20080B4FF /* Roxas.framework */; }; @@ -320,7 +321,6 @@ BFF435D8255CBDAB00DD724F /* ALTApplication+AltStoreApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFF435D7255CBDAB00DD724F /* ALTApplication+AltStoreApp.swift */; }; BFF615A82510042B00484D3B /* AltStoreCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF66EE7E2501AE50007EE018 /* AltStoreCore.framework */; }; D533E8B72727841800A9B5DD /* libAppleArchive.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D533E8B62727841800A9B5DD /* libAppleArchive.tbd */; settings = {ATTRIBUTES = (Weak, ); }; }; - D533E8BC2727BBEE00A9B5DD /* libfragmentzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D533E8BB2727BBEE00A9B5DD /* libfragmentzip.a */; }; D533E8BE2727BBF800A9B5DD /* libcurl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D533E8BD2727BBF800A9B5DD /* libcurl.a */; }; D55E163728776CB700A627A1 /* ComplicationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55E163528776CB000A627A1 /* ComplicationView.swift */; }; D57DF638271E32F000677701 /* PatchApp.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D57DF637271E32F000677701 /* PatchApp.storyboard */; }; @@ -414,6 +414,34 @@ remoteGlobalIDString = CA60C44C93D7A30E3695DD59; remoteInfo = "em_proxy-staticlib"; }; + B343F88D295F7F9B002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 87B8C3401E0E9C37002F817D; + remoteInfo = "fragmentzip-cli-macOS"; + }; + B343F88F295F7F9B002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = B315FDB02866CCF8002E243C; + remoteInfo = "fragmentzip-cli-iOS"; + }; + B343F891295F7F9B002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = B315FDB52866CD91002E243C; + remoteInfo = "fragmentzip-macOS"; + }; + B343F893295F7F9B002B1159 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = B315FDCE2866CDD3002E243C; + remoteInfo = "fragmentzip-iOS"; + }; BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFD247622284B9A500981D42 /* Project object */; @@ -491,6 +519,7 @@ B343F879295F7C5D002B1159 /* thread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = thread.c; sourceTree = ""; }; B343F87A295F7C5D002B1159 /* utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = utils.c; sourceTree = ""; }; B343F87B295F7C5D002B1159 /* tlv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tlv.c; sourceTree = ""; }; + B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libfragmentzip.xcodeproj; path = Dependencies/libfragmentzip/libfragmentzip.xcodeproj; sourceTree = ""; }; B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = ""; }; B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = ""; }; @@ -870,6 +899,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + B343F895295F7FAC002B1159 /* libfragmentzip.a in Frameworks */, 191E6087290C7B50001A3B7C /* libminimuxer.a in Frameworks */, 191E5FB4290A5DA0001A3B7C /* libminimuxer.a in Frameworks */, 19104DBC2909C4E500C49C7B /* libEmotionalDamage.a in Frameworks */, @@ -882,7 +912,6 @@ B3C395F4284F35DD00DA9E2F /* Nuke in Frameworks */, BF1614F1250822F100767AEA /* Roxas.framework in Frameworks */, B3C395F7284F362400DA9E2F /* AppCenterAnalytics in Frameworks */, - D533E8BC2727BBEE00A9B5DD /* libfragmentzip.a in Frameworks */, BF66EE852501AE50007EE018 /* AltStoreCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -954,6 +983,17 @@ name = Products; sourceTree = ""; }; + B343F887295F7F9B002B1159 /* Products */ = { + isa = PBXGroup; + children = ( + B343F88E295F7F9B002B1159 /* libfragmentzip */, + B343F890295F7F9B002B1159 /* libfragmentzip */, + B343F892295F7F9B002B1159 /* libfragmentzip.a */, + B343F894295F7F9B002B1159 /* libfragmentzip.a */, + ); + name = Products; + sourceTree = ""; + }; B39F16112918D7B5002E9404 /* Consts */ = { isa = PBXGroup; children = ( @@ -1443,6 +1483,7 @@ BF98916C250AABF3002ACF50 /* AltWidget */, 19104DB32909C06D00C49C7B /* EmotionalDamage */, 191E5FAC290A5D92001A3B7C /* minimuxer */, + B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */, BFD247852284BB3300981D42 /* Frameworks */, B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */, BFD2476B2284B9A500981D42 /* Products */, @@ -1991,6 +2032,10 @@ ProductGroup = B343F84E295F6323002B1159 /* Products */; ProjectRef = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */; }, + { + ProductGroup = B343F887295F7F9B002B1159 /* Products */; + ProjectRef = B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */; + }, { ProductGroup = B343F848295F6321002B1159 /* Products */; ProjectRef = B343F847295F6321002B1159 /* minimuxer.xcodeproj */; @@ -2057,6 +2102,34 @@ remoteRef = B343F854295F6323002B1159 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + B343F88E295F7F9B002B1159 /* libfragmentzip */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = libfragmentzip; + remoteRef = B343F88D295F7F9B002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B343F890295F7F9B002B1159 /* libfragmentzip */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = libfragmentzip; + remoteRef = B343F88F295F7F9B002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B343F892295F7F9B002B1159 /* libfragmentzip.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libfragmentzip.a; + remoteRef = B343F891295F7F9B002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + B343F894295F7F9B002B1159 /* libfragmentzip.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libfragmentzip.a; + remoteRef = B343F893295F7F9B002B1159 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ diff --git a/Dependencies/fragmentzip/libfragmentzip.a b/Dependencies/fragmentzip/libfragmentzip.a deleted file mode 100644 index 36383620f57cfc0a690cde44e4f3dd7b1d667e9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12472 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 mw$^TQ>D=OY3JLIw Date: Fri, 30 Dec 2022 15:28:03 -0500 Subject: [PATCH 10/12] fix hardcoded paths in generated cargo xcodeprojs Signed-off-by: Joseph Mattello --- Dependencies/em_proxy.xcodeproj/project.pbxproj | 2 +- Dependencies/minimuxer.xcodeproj/project.pbxproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dependencies/em_proxy.xcodeproj/project.pbxproj b/Dependencies/em_proxy.xcodeproj/project.pbxproj index 5e48e128..9be3b5f2 100644 --- a/Dependencies/em_proxy.xcodeproj/project.pbxproj +++ b/Dependencies/em_proxy.xcodeproj/project.pbxproj @@ -64,7 +64,7 @@ lastKnownFileType = text; fileEncoding = 4; name = "Cargo.toml"; - path = "/Users/jmattiello/Workspace/Provenance/SideStore/Dependencies/em_proxy/Cargo.toml"; + path = "em_proxy/Cargo.toml"; sourceTree = ""; }; /* Rust needs libresolv */ diff --git a/Dependencies/minimuxer.xcodeproj/project.pbxproj b/Dependencies/minimuxer.xcodeproj/project.pbxproj index a12d8552..0c50e9b9 100644 --- a/Dependencies/minimuxer.xcodeproj/project.pbxproj +++ b/Dependencies/minimuxer.xcodeproj/project.pbxproj @@ -49,7 +49,7 @@ lastKnownFileType = text; fileEncoding = 4; name = "Cargo.toml"; - path = "/Users/jmattiello/Workspace/Provenance/SideStore/Dependencies/minimuxer/Cargo.toml"; + path = "minimuxer/Cargo.toml"; sourceTree = ""; }; /* Rust needs libresolv */ From d0fef1f312808b6e788fb9c43ee276d26677166a Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 15:41:40 -0500 Subject: [PATCH 11/12] fix header paths Signed-off-by: Joseph Mattello --- AltStore.xcodeproj/project.pbxproj | 10 ++-- minimuxer/minimuxer.h | 76 ++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 minimuxer/minimuxer.h diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 51d36a65..b651376e 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -493,7 +493,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 19104DA32909BC1000C49C7B /* libem_proxy.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libem_proxy.a; path = "Dependencies/em_proxy/target/aarch64-apple-ios/debug/libem_proxy.a"; sourceTree = ""; }; 19104DA92909BC7100C49C7B /* em_proxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = em_proxy.h; sourceTree = ""; }; 19104DB22909C06C00C49C7B /* libEmotionalDamage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libEmotionalDamage.a; sourceTree = BUILT_PRODUCTS_DIR; }; 19104DB42909C06D00C49C7B /* EmotionalDamage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmotionalDamage.swift; sourceTree = ""; }; @@ -1543,7 +1542,6 @@ children = ( B343F86C295F759E002B1159 /* libresolv.tbd */, 191E5FB5290A5E1F001A3B7C /* libminimuxer.a */, - 19104DA32909BC1000C49C7B /* libem_proxy.a */, B39575F4284F29E20080B4FF /* Roxas.framework */, D533E8B62727841800A9B5DD /* libAppleArchive.tbd */, BF580497246A3D19008AE704 /* UIKit.framework */, @@ -2575,7 +2573,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OBJC_BRIDGING_HEADER = Dependencies/em_proxy/em_proxy.h; + SWIFT_OBJC_BRIDGING_HEADER = EmotionalDamage/em_proxy.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 14.0; @@ -2601,7 +2599,7 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = Dependencies/em_proxy/em_proxy.h; + SWIFT_OBJC_BRIDGING_HEADER = EmotionalDamage/em_proxy.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 14.0; @@ -2628,7 +2626,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OBJC_BRIDGING_HEADER = Dependencies/minimuxer/minimuxer.h; + SWIFT_OBJC_BRIDGING_HEADER = minimuxer/minimuxer.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -2651,7 +2649,7 @@ OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = Dependencies/minimuxer/minimuxer.h; + SWIFT_OBJC_BRIDGING_HEADER = minimuxer/minimuxer.h; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; diff --git a/minimuxer/minimuxer.h b/minimuxer/minimuxer.h new file mode 100644 index 00000000..0abc5419 --- /dev/null +++ b/minimuxer/minimuxer.h @@ -0,0 +1,76 @@ +// Jackson Coxson + +#include +#include +#include +#include +#include + + +/** + * Mount iOS's developer DMG + * # Safety + * Don't be stupid + */ +void minimuxer_auto_mount(char *docs_path); + +/** + * Starts the muxer and heartbeat client + * # Arguments + * Pairing file as a list of chars and the length + * # Safety + * Don't be stupid + */ +int minimuxer_c_start(char *pairing_file, char *log_path); + +/** + * Debugs an app from an app ID + * # Safety + * Don't be stupid + */ +int minimuxer_debug_app(char *app_id); + +/** + * Installs an ipa with a bundle ID + * Expects the ipa to be in the afc jail from yeet_app_afc + * # Safety + * Don't be stupid + */ +int minimuxer_install_ipa(char *bundle_id); + +/** + * Installs a provisioning profile on the device + * # Arguments + * Pass a pointer to a plist + * # Returns + * 0 on success + * # Safety + * Don't be stupid + */ +int minimuxer_install_provisioning_profile(uint8_t *pointer, unsigned int len); + +/** + * Removes an app from the device + * # Safety + * Don't be stupid + */ +int minimuxer_remove_app(char *bundle_id); + +/** + * Removes a provisioning profile + * # Safety + * Don't be stupid + */ +int minimuxer_remove_provisioning_profile(char *id); + +/** + * Yeets an ipa to the afc jail + * # Safety + * Don't be stupid + */ +int minimuxer_yeet_app_afc(char *bundle_id, uint8_t *bytes_ptr, unsigned long bytes_len); + +/** + * Sets the current environment variable for libusbmuxd to localhost + */ +void target_minimuxer_address(void); From 2d08941f6acb6877f7db7266bf089145dc3cf90e Mon Sep 17 00:00:00 2001 From: Joseph Mattello Date: Fri, 30 Dec 2022 15:47:27 -0500 Subject: [PATCH 12/12] udpate em_proxy.h Signed-off-by: Joseph Mattello --- EmotionalDamage/em_proxy.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/EmotionalDamage/em_proxy.h b/EmotionalDamage/em_proxy.h index d3e9066e..fd09f4fa 100644 --- a/EmotionalDamage/em_proxy.h +++ b/EmotionalDamage/em_proxy.h @@ -17,7 +17,7 @@ * # Safety * Don't be stupid */ -void *start_emotional_damage(const char *bind_addr); +int start_emotional_damage(const char *bind_addr); /** * Stops further emotional damage @@ -28,4 +28,13 @@ void *start_emotional_damage(const char *bind_addr); * # Safety * Don't be stupid */ -void stop_emotional_damage(void *handle); +void stop_emotional_damage(void); + +/** + * Blocks until Wireguard is ready + * # Arguments + * * `timeout` - The timeout in miliseconds to wait for Wireguard + * # Returns + * 0 on success, -1 on failure + */ +int test_emotional_damage(int timeout);