Skip to content

Releases: PDFMerger2025/YouModIPA

Version 2.1 Hotfixes

Choose a tag to compare

@PDFMerger2025 PDFMerger2025 released this 14 Sep 03:06
a4c006e

🛠️Updated YouMod 2.0 and will fetch the latest releases going forward. [Was previously pointed towards my own forked repo and the newly update version requires roothide.h, a header that isn't part of stock Theos — it only ships with the roothide/theos fork. Since our workflow was cloning vanilla theos/theos, the header simply didn't exist anywhere in the build environment.

🛠️ Changed YTUHD boolean default to false as it does not with YouTube Versions 21.25.5 or higher and YouMod/YouPro/YTKACE have this already built-in).

✅ What Changed
🔀 cache-theos/action.yml — Theos is now cloned from roothide/theos instead of theos/theos. It's a fully compatible drop-in fork (still builds fine with THEOS_PACKAGE_SCHEME=rootless for every other tweak), and it ships roothide.h out of the box.
🔑 Cache key bumped — theos-v2-* → theos-v3-roothide-*, so GitHub Actions won't reuse a stale cache built from the old, non-roothide Theos.
🧾 get-commit-hashes/action.yml — the theos commit hash lookup now points at roothide/theos too, so the cache key correctly tracks the fork we're actually using.
🧹 Readme.md and buildyoumod.yml — Now explains YTUHD compatibility and is no longer toggled on by default.

VERSION 2.0 FIXES + ADDED YTKACE

Choose a tag to compare

@PDFMerger2025 PDFMerger2025 released this 09 Sep 02:06
0bc19b1

🎃 *YouMod IPA Build Workflow now including YTKACE *

🔧 1. Logos %orig Parsing Regression Fix

❗ Issue

Theos/Logos commit 777925d (June 29, 2026) introduced a regression that breaks %orig(...) calls unless they appear alone on their own line, causing errors like:

Invalid argument structure in %orig

✅ Fix

Logos is pinned to the last known-good commit a62370066a97e36d59b200a9fa10c5091f5e8972 immediately after Theos is restored from cache.

🧩 Patch

- name: Workaround Logos %orig regression
  if: steps.theos.outputs.cache-hit == 'true'
  run: |
    cd "$THEOS/vendor/logos"
    git fetch --depth=50 origin a62370066a97e36d59b200a9fa10c5091f5e8972
    git checkout a62370066a97e36d59b200a9fa10c5091f5e8972

🧱 2. Framework Stub Symlink Fix

❗ Issue

Private frameworks inside community iOS SDKs often ship only .tbd files, missing the extensionless stub file the linker expects, resulting in “framework not found” errors.

✅ Fix

A workflow step now auto‑creates symlinks for every framework:

FrameworkName.tbd → FrameworkName

🧩 Patch

- name: Fix Missing Framework Stub Symlinks
  run: |
    find "$THEOS/sdks" -iname "*.framework" -type d | while read -r fw; do
      name=$(basename "$fw" .framework)
      if [ ! -e "$fw/$name" ] && [ -e "$fw/$name.tbd" ]; then
        ln -s "$name.tbd" "$fw/$name"
      fi
    done

🧭 3. Explicit PrivateFrameworks Linker Path

❗ Issue

Theos sometimes fails to auto-detect the PrivateFrameworks directory, causing unresolved framework errors even when symlinks exist.

✅ Fix

The linker is explicitly passed the PrivateFrameworks directory via ADDITIONAL_LDFLAGS.

🧩 Patch

ADDITIONAL_LDFLAGS="-F$THEOS/sdks/iPhoneOS18.6.sdk/System/Library/PrivateFrameworks"

🧹 4. Alderis Makefile SDK Hook Removal

❗ Issue

Alderis’s before-package:: sdk hook assumes a classic /Library/Frameworks layout, but rootless builds use /var/jb/Library/Frameworks, causing build failures.

✅ Fix

The workflow removes the problematic Makefile line using sed before building Alderis.

🧩 Patch

- name: Clone and Build Alderis
  if: inputs.alderis == true && steps.cache_tweaks.outputs.cache_alderis_hit != 'true'
  run: |
    git clone --quiet --depth=1 https://github.com/hbang/Alderis.git
    cd Alderis
    sed -i '' '/^before-package:: sdk$/d' Makefile
    make clean package DEBUG=0 FINALPACKAGE=1 ARCHS=arm64 TARGET=iphone:clang:latest:13.0 THEOS_PACKAGE_SCHEME=rootless ADDITIONAL_CFLAGS="-Wno-deprecated-declarations" ADDITIONAL_LDFLAGS="-F$THEOS/sdks/iPhoneOS18.6.sdk/System/Library/PrivateFrameworks"
    mv packages/*.deb ${{ github.workspace }}/alderis.deb

🐹 5. Golang Installation for Gonerino

❗ Issue

Gonerino requires Go to build, but Go was not installed in the workflow environment.

✅ Fix

Go is now included in the Homebrew dependency list.

🧩 Patch

brew install --quiet make ldid swiftlint dpkg meson ninja go

⚠️ 6. Alderis Deprecation Warning Suppression

❗ Issue

Alderis uses deprecated APIs such as keyWindow, and -Werror treats these warnings as fatal errors.

✅ Fix

Added ADDITIONAL_CFLAGS="-Wno-deprecated-declarations" to suppress deprecated API warnings.

🧩 Patch

ADDITIONAL_CFLAGS="-Wno-deprecated-declarations"

🆕 7. YTKace Integration by @itzzace0

🌟 New Feature

Added YTKace as a new optional tweak input so users can include it in their builds.

🧩 Patch

ytkace:
  type: boolean
  required: false
  default: false

🧛 I also added Discussions tab - feel free to use it for ideas/feedback/questions along with Issues tab, thank you!