From 3176101d5db63f7973e1f3d02a9b131ffaf87fa2 Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Sun, 17 Mar 2024 19:11:28 -0700 Subject: [PATCH 01/58] Add YTTapToSeek --- Sources/uYouPlus.h | 13 +++++++++++++ Sources/uYouPlus.xm | 25 +++++++++++++++++++++++++ Sources/uYouPlusSettings.xm | 1 + 3 files changed, 39 insertions(+) diff --git a/Sources/uYouPlus.h b/Sources/uYouPlus.h index 6a162b3..f91c692 100644 --- a/Sources/uYouPlus.h +++ b/Sources/uYouPlus.h @@ -51,6 +51,19 @@ @property (nonatomic, strong) UIView *_scrimOverlay; @end +// YTTapToSeek - https://github.com/bhackel/YTTapToSeek +@interface YTInlinePlayerBarContainerView : UIView +@property (nonatomic, weak, readwrite) id delegate; +- (void)didPressScrubber:(id)arg1; +- (CGFloat)scrubRangeForScrubX:(CGFloat)arg1; +@end +@interface YTMainAppVideoPlayerOverlayViewController : UIViewController +- (CGFloat)totalTime; +@end +@interface YTPlayerViewController : UIViewController +- (void)seekToTime:(double)time; +@end + // uYouPlus @interface YTHeaderLogoController : UIView @property(readonly, nonatomic) long long pageStyle; diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 048285d..1f803dc 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -491,6 +491,28 @@ static NSString *accessGroupID() { } %end +// YTTapToSeek - https://github.com/bhackel/YTTapToSeek +%group YTTTS_Tweak + %hook YTInlinePlayerBarContainerView + - (void)didPressScrubber:(id)arg1 { + %orig; + // Get access to the seekToTime method + YTMainAppVideoPlayerOverlayViewController *mainAppController = [self.delegate valueForKey:@"_delegate"]; + YTPlayerViewController *playerViewController = [mainAppController valueForKey:@"parentViewController"]; + // Get the X position of this tap from arg1 + UIGestureRecognizer *gestureRecognizer = (UIGestureRecognizer *)arg1; + CGPoint location = [gestureRecognizer locationInView:self]; + CGFloat x = location.x; + // Get the associated proportion of time using scrubRangeForScrubX + double timestampFraction = [self scrubRangeForScrubX:x]; + // Get the timestamp from the fraction + double timestamp = [mainAppController totalTime] * timestampFraction; + // Jump to the timestamp + [playerViewController seekToTime:timestamp]; + } + %end +%end + # pragma mark - Hide Notification Button && SponsorBlock Button && uYouPlus Button %hook YTRightNavigationButtons - (void)layoutSubviews { @@ -1296,6 +1318,9 @@ static BOOL findCell(ASNodeController *nodeController, NSArray *ide if (IS_ENABLED(@"disableLiveChatSection_enabled")) { %init(gDisableLiveChatSection); } + if (IS_ENABLED(@"YTTapToSeek_enabled")) { + %init(YTTTS_Tweak); + } // YTNoModernUI - @arichorn BOOL ytNoModernUIEnabled = IS_ENABLED(@"ytNoModernUI_enabled"); diff --git a/Sources/uYouPlusSettings.xm b/Sources/uYouPlusSettings.xm index 5d8076b..14ea3d0 100644 --- a/Sources/uYouPlusSettings.xm +++ b/Sources/uYouPlusSettings.xm @@ -202,6 +202,7 @@ extern NSBundle *uYouPlusBundle(); SWITCH_ITEM2(LOC(@"Enable Portrait Fullscreen (iPhone-Exclusive)"), LOC(@"Enables Portrait Fullscreen on the YouTube App. App restart is required."), @"portraitFullscreen_enabled"); SWITCH_ITEM2(LOC(@"SLIDE_TO_SEEK"), LOC(@"SLIDE_TO_SEEK_DESC"), @"slideToSeek_enabled"); + SWITCH_ITEM2(LOC(@"Enable Tap To Seek"), LOC(@"Jump to anywhere in a video by single-tapping the seek bar"), @"YTTapToSeek_enabled"); SWITCH_ITEM(LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK"), LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK_DESC"), @"doubleTapToSeek_disabled"); SWITCH_ITEM2(LOC(@"SNAP_TO_CHAPTER"), LOC(@"SNAP_TO_CHAPTER_DESC"), @"snapToChapter_enabled"); SWITCH_ITEM2(LOC(@"PINCH_TO_ZOOM"), LOC(@"PINCH_TO_ZOOM_DESC"), @"pinchToZoom_enabled"); From e8a16db8c51e8b8ff936f3b5570f6c7a3989c15a Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Sun, 17 Mar 2024 23:00:12 -0700 Subject: [PATCH 02/58] Update YoutubeHeader submodule --- Sources/uYouPlus.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Sources/uYouPlus.h b/Sources/uYouPlus.h index f91c692..e0151b3 100644 --- a/Sources/uYouPlus.h +++ b/Sources/uYouPlus.h @@ -52,14 +52,6 @@ @end // YTTapToSeek - https://github.com/bhackel/YTTapToSeek -@interface YTInlinePlayerBarContainerView : UIView -@property (nonatomic, weak, readwrite) id delegate; -- (void)didPressScrubber:(id)arg1; -- (CGFloat)scrubRangeForScrubX:(CGFloat)arg1; -@end -@interface YTMainAppVideoPlayerOverlayViewController : UIViewController -- (CGFloat)totalTime; -@end @interface YTPlayerViewController : UIViewController - (void)seekToTime:(double)time; @end From b989446566e90fb1474b2d82b70c0f4c7e626e3d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 18 Mar 2024 06:49:09 +0000 Subject: [PATCH 03/58] updated submodules --- Tweaks/YouTubeHeader | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/YouTubeHeader b/Tweaks/YouTubeHeader index 3031da8..84114ea 160000 --- a/Tweaks/YouTubeHeader +++ b/Tweaks/YouTubeHeader @@ -1 +1 @@ -Subproject commit 3031da85418ae89108850e9727e5d56653c4dae4 +Subproject commit 84114ea8a14cedaa2d70b711c19f4c9b8e96c776 From 4fecece5831b9dd50455bc4af4319f2678b5354b Mon Sep 17 00:00:00 2001 From: Bryce Hackel <34104885+bhackel@users.noreply.github.com> Date: Mon, 18 Mar 2024 00:20:36 -0700 Subject: [PATCH 04/58] Fix headers --- Sources/uYouPlus.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/uYouPlus.h b/Sources/uYouPlus.h index e0151b3..bc69605 100644 --- a/Sources/uYouPlus.h +++ b/Sources/uYouPlus.h @@ -52,8 +52,8 @@ @end // YTTapToSeek - https://github.com/bhackel/YTTapToSeek -@interface YTPlayerViewController : UIViewController -- (void)seekToTime:(double)time; +@interface YTMainAppVideoPlayerOverlayViewController : UIViewController +- (CGFloat)totalTime; @end // uYouPlus From 1d4c01b22c59b22dac21e6a1a81a974641cf1d0c Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Mon, 18 Mar 2024 17:53:20 -0500 Subject: [PATCH 05/58] Downgrade back to 16.2 SDK --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3d6845c..d80a404 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -export TARGET = iphone:clang:17.2:14.0 +export TARGET = iphone:clang:16.2:14.0 export ARCHS = arm64 export libcolorpicker_ARCHS = arm64 From 935d9ba62820f223ed5438817865480feb89aa8c Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Mon, 18 Mar 2024 18:17:24 -0500 Subject: [PATCH 06/58] Update buildapp.yml (iOS 16.4 SDK) --- .github/workflows/buildapp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml index d79eb3d..e541201 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/buildapp.yml @@ -8,7 +8,7 @@ on: inputs: sdk_version: description: "iOS SDK version to be used during build" - default: "16.2" + default: "16.4" required: true type: string uyou_version: From 3c827bd251a26022b5bf92616052e92cafd55c36 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Mon, 18 Mar 2024 18:17:37 -0500 Subject: [PATCH 07/58] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d80a404..dba2818 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -export TARGET = iphone:clang:16.2:14.0 +export TARGET = iphone:clang:16.4:14.0 export ARCHS = arm64 export libcolorpicker_ARCHS = arm64 From 2da7dab4e8da84ef21b844525b96bd3a143a8539 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 19 Mar 2024 11:07:05 +0000 Subject: [PATCH 08/58] updated submodules --- Tweaks/YouTubeHeader | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/YouTubeHeader b/Tweaks/YouTubeHeader index 84114ea..1d04936 160000 --- a/Tweaks/YouTubeHeader +++ b/Tweaks/YouTubeHeader @@ -1 +1 @@ -Subproject commit 84114ea8a14cedaa2d70b711c19f4c9b8e96c776 +Subproject commit 1d049363e05b042c6387db34a4e2032ab658462f From c27edc52335a5b8a288aad614913e6dc56727294 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 21 Mar 2024 19:29:41 -0500 Subject: [PATCH 09/58] Re-added uYouLocalization, disabled MrBeastify --- Makefile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index dba2818..4f289ec 100644 --- a/Makefile +++ b/Makefile @@ -30,8 +30,7 @@ $(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x) $(wildca $(TWEAK_NAME)_FRAMEWORKS = UIKit Foundation AVFoundation AVKit Photos Accelerate CoreMotion GameController VideoToolbox Security $(TWEAK_NAME)_LIBRARIES = bz2 c++ iconv z $(TWEAK_NAME)_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unused-but-set-variable -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\" -#uYouLocalization $(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib -$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib +$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib // $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib $(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib $(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework $(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle) @@ -39,8 +38,7 @@ $(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex) include $(THEOS)/makefiles/common.mk ifneq ($(JAILBROKEN),1) -#uYouLocalization SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed Tweaks/MrBeastify -SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed Tweaks/MrBeastify +SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed // Tweaks/MrBeastify include $(THEOS_MAKE_PATH)/aggregate.mk endif include $(THEOS_MAKE_PATH)/tweak.mk From cc83b8fc0cb441352d28dffa1ee5da387ebc0056 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 21 Mar 2024 19:31:52 -0500 Subject: [PATCH 10/58] Update Makefile (symbols were incorrect fix) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 4f289ec..365269a 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ $(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x) $(wildca $(TWEAK_NAME)_FRAMEWORKS = UIKit Foundation AVFoundation AVKit Photos Accelerate CoreMotion GameController VideoToolbox Security $(TWEAK_NAME)_LIBRARIES = bz2 c++ iconv z $(TWEAK_NAME)_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unused-but-set-variable -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\" -$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib // $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib +$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib # $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib $(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib $(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework $(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle) @@ -38,7 +38,7 @@ $(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex) include $(THEOS)/makefiles/common.mk ifneq ($(JAILBROKEN),1) -SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed // Tweaks/MrBeastify +SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed # Tweaks/MrBeastify include $(THEOS_MAKE_PATH)/aggregate.mk endif include $(THEOS_MAKE_PATH)/tweak.mk From 23b72e33b8ea49c0f936f634a9292c76fb46d950 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 21 Mar 2024 19:47:53 -0500 Subject: [PATCH 11/58] Added Update Submodules Template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I’m doing this because some of y’all are confused with the adding, updating, removing Submodules on the Wiki. This commit was done to resolve some confusion regarding that matter. --- ...les.txt => update-submodules-template.txt} | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) rename Sources/{update-submodules.txt => update-submodules-template.txt} (81%) diff --git a/Sources/update-submodules.txt b/Sources/update-submodules-template.txt similarity index 81% rename from Sources/update-submodules.txt rename to Sources/update-submodules-template.txt index bd38370..e50ce52 100644 --- a/Sources/update-submodules.txt +++ b/Sources/update-submodules-template.txt @@ -20,13 +20,15 @@ jobs: - name: Add uYouEnhanced submodules run: | -// git submodule add https://github.com/PoomSmart/FLEXing.git Tweaks/FLEXing +# git submodule add https://github.com/PoomSmart/FLEXing.git Tweaks/FLEXing git submodule add https://github.com/dayanch96/uYouLocalization.git Tweaks/uYouLocalization git submodule add https://github.com/arichorn/YTHoldForSpeed.git Tweaks/YTHoldForSpeed git add . git commit -m "added uYouEnhanced submodules" git push origin +# ⬇️ this is for updating the submodules all at once. it's not recommended for use due to errors. + # - name: Update submodules # run: | # git submodule update --init --recursive --remote @@ -35,6 +37,8 @@ jobs: # git push origin # continue-on-error: true +# ⬇️ this is the current method of updating the submodules for uYouEnhanced + - name: Update submodules run: | git submodule update --init --recursive --remote Tweaks/Alderis @@ -43,8 +47,6 @@ jobs: git add . git submodule update --init --recursive --remote Tweaks/YTHoldForSpeed git add . - git submodule update --init --recursive --remote Tweaks/MrBeastify - git add . git submodule update --init --recursive --remote Tweaks/PSHeader git add . git submodule update --init --recursive --remote Tweaks/Return-YouTube-Dislikes @@ -71,6 +73,8 @@ jobs: git push origin continue-on-error: true +# ⬇️ this is required for adding custom submodule(s) that include a .bundle file. it is recommended for use. + - name: Make .bundle files run: | cd Bundles @@ -81,6 +85,18 @@ jobs: git commit -m "Added bundles" git push origin +# ⬇️ this is only necessary if you want to delete .bundle files if you planned on removing submodule(s) or your custom submodule(s). + +# - name: Delete .bundle files +# run: | +# cd Bundles +# rm -f MrBeastify.bundle +# rm -f uYouLocalization.bundle +# rm -f YTHoldForSpeed.bundle +# git add . +# git commit -m "Deleted bundles" +# git push origin + - name: Check exit code run: | exit_code=$? From a3f3e13d27304ee253f831d825368e4a2a9035fe Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 21 Mar 2024 19:50:12 -0500 Subject: [PATCH 12/58] Update update-submodules.yml --- .github/workflows/update-submodules.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/update-submodules.yml b/.github/workflows/update-submodules.yml index 26c94d7..b0613ab 100644 --- a/.github/workflows/update-submodules.yml +++ b/.github/workflows/update-submodules.yml @@ -16,6 +16,14 @@ jobs: git config --global user.email "actions@github.com" git config --global user.name "GitHub Actions" + - name: Delete .bundle files + run: | + cd Bundles + rm -f MrBeastify.bundle + git add . + git commit -m "Deleted MrBeastify bundle" + git push origin + - name: Update submodules run: | git submodule update --init --recursive --remote Tweaks/Alderis From 267e4ecbef52bab76b6365b1807b353152e33565 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 22 Mar 2024 00:50:27 +0000 Subject: [PATCH 13/58] Deleted MrBeastify bundle --- Bundles/MrBeastify.bundle | 1 - 1 file changed, 1 deletion(-) delete mode 120000 Bundles/MrBeastify.bundle diff --git a/Bundles/MrBeastify.bundle b/Bundles/MrBeastify.bundle deleted file mode 120000 index d41a0e4..0000000 --- a/Bundles/MrBeastify.bundle +++ /dev/null @@ -1 +0,0 @@ -../Tweaks/MrBeastify/layout/Library/Application Support/MrBeastify.bundle \ No newline at end of file From d7465819269a4141867cfd275798615aa894e589 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 21 Mar 2024 19:50:33 -0500 Subject: [PATCH 14/58] Update update-submodules.yml --- .github/workflows/update-submodules.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/update-submodules.yml b/.github/workflows/update-submodules.yml index b0613ab..26c94d7 100644 --- a/.github/workflows/update-submodules.yml +++ b/.github/workflows/update-submodules.yml @@ -16,14 +16,6 @@ jobs: git config --global user.email "actions@github.com" git config --global user.name "GitHub Actions" - - name: Delete .bundle files - run: | - cd Bundles - rm -f MrBeastify.bundle - git add . - git commit -m "Deleted MrBeastify bundle" - git push origin - - name: Update submodules run: | git submodule update --init --recursive --remote Tweaks/Alderis From f3e096d9b3b8fe8808b454a64407628b5064b42c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 22 Mar 2024 00:51:26 +0000 Subject: [PATCH 15/58] updated submodules --- Tweaks/DontEatMyContent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/DontEatMyContent b/Tweaks/DontEatMyContent index 7b7c7e4..dba2a41 160000 --- a/Tweaks/DontEatMyContent +++ b/Tweaks/DontEatMyContent @@ -1 +1 @@ -Subproject commit 7b7c7e4c09aafa1959dac1a236eea9ab75d41a74 +Subproject commit dba2a4149676c41af17e49705af88d0a3b1d100d From da03edf564ce5438bbd442e096bf6367b7764aed Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 21 Mar 2024 20:54:35 -0500 Subject: [PATCH 16/58] uYou Adblock Fix - #457 The stuff was from YouTube Reborn v4.2.6 but modified it for uYouEnhanced. --- Sources/uYouPlus.xm | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 1f803dc..8c0b577 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -87,7 +87,7 @@ static NSString *accessGroupID() { %end %end -// YouTube Premium Logo - @arichorn - this doesn't always function +// YouTube Premium Logo - @arichornlover - this doesn't always function. %group gPremiumYouTubeLogo %hook YTHeaderLogoController - (void)setPremiumLogo:(BOOL)isPremiumLogo { @@ -101,6 +101,37 @@ static NSString *accessGroupID() { } %end +// Workaround: uYou 3.0.3 Adblock fix. +%hook YTSectionListViewController +- (void)loadWithModel:(YTISectionListRenderer *)model { + if ([@"removeYouTubeAds" boolValue]) { + NSMutableArray *contentsArray = model.contentsArray; + NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { + YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; + YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; + return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); + }]; + [contentsArray removeObjectsAtIndexes:removeIndexes]; + } + %orig; +} +%end + +%hook YTWatchNextResultsViewController +- (void)loadWithModel:(YTISectionListRenderer *)watchNextResults { + if ([@"removeYouTubeAds" boolValue]) { + NSMutableArray *contentsArray = watchNextResults.contentsArray; + NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { + YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; + YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; + return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); + }]; + [contentsArray removeObjectsAtIndexes:removeIndexes]; + } + %orig; +} +%end + // Workaround: fix YouTube Premium Logo not working on v18.35.4 or above. %hook YTVersionUtils // Working Version for Premium Logo + (NSString *)appVersion { return @"18.34.5"; } From b215022b4c334d779b7930eefdab87362be41b46 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Thu, 21 Mar 2024 22:05:14 -0500 Subject: [PATCH 17/58] uYouLocalization still broken?! --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 365269a..cefb75b 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,8 @@ $(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x) $(wildca $(TWEAK_NAME)_FRAMEWORKS = UIKit Foundation AVFoundation AVKit Photos Accelerate CoreMotion GameController VideoToolbox Security $(TWEAK_NAME)_LIBRARIES = bz2 c++ iconv z $(TWEAK_NAME)_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unused-but-set-variable -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\" -$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib # $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib +#uYouLocalization $(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/uYouLocalization.dylib +$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib $(THEOS_OBJ_DIR)/YTNoCommunityPosts.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.dylib # $(THEOS_OBJ_DIR)/MrBeastify-ObjC.dylib $(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib $(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework $(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle) @@ -38,6 +39,7 @@ $(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex) include $(THEOS)/makefiles/common.mk ifneq ($(JAILBROKEN),1) +#uYouLocalization SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed # Tweaks/MrBeastify include $(THEOS_MAKE_PATH)/aggregate.mk endif From 7121401d2336278bcc06da5e838f147c03f2daa8 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 22 Mar 2024 16:38:17 -0500 Subject: [PATCH 18/58] Disable uYouLocalization --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index cefb75b..021847d 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ $(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex) include $(THEOS)/makefiles/common.mk ifneq ($(JAILBROKEN),1) #uYouLocalization SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization -SUBPROJECTS += Tweaks/Alderis Tweaks/uYouLocalization Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed # Tweaks/MrBeastify +SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/YTSpeed # Tweaks/MrBeastify include $(THEOS_MAKE_PATH)/aggregate.mk endif include $(THEOS_MAKE_PATH)/tweak.mk From a075482b88ba1d4635be528400133b94074c3cb2 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 22 Mar 2024 16:45:31 -0500 Subject: [PATCH 19/58] =?UTF-8?q?Fix=20uYou=E2=80=99s=20Option=20not=20wor?= =?UTF-8?q?king?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/uYouPlus.xm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 8c0b577..ed8cc98 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -104,7 +104,7 @@ static NSString *accessGroupID() { // Workaround: uYou 3.0.3 Adblock fix. %hook YTSectionListViewController - (void)loadWithModel:(YTISectionListRenderer *)model { - if ([@"removeYouTubeAds" boolValue]) { + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { NSMutableArray *contentsArray = model.contentsArray; NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; @@ -119,7 +119,7 @@ static NSString *accessGroupID() { %hook YTWatchNextResultsViewController - (void)loadWithModel:(YTISectionListRenderer *)watchNextResults { - if ([@"removeYouTubeAds" boolValue]) { + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { NSMutableArray *contentsArray = watchNextResults.contentsArray; NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; From 070ae5587cbf8f213333d20f984afbe09e3a58c6 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 22 Mar 2024 16:47:16 -0500 Subject: [PATCH 20/58] Update uYouPlus.h --- Sources/uYouPlus.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/uYouPlus.h b/Sources/uYouPlus.h index bc69605..caf6f3c 100644 --- a/Sources/uYouPlus.h +++ b/Sources/uYouPlus.h @@ -19,6 +19,7 @@ #import "Tweaks/YouTubeHeader/YTIBrowseRequest.h" #import "Tweaks/YouTubeHeader/YTIButtonRenderer.h" #import "Tweaks/YouTubeHeader/YTISectionListRenderer.h" +#import "Tweaks/YouTubeHeader/YTWatchNextResultsViewController.h" #import "Tweaks/YouTubeHeader/YTPlayerOverlay.h" #import "Tweaks/YouTubeHeader/YTPlayerOverlayProvider.h" #import "Tweaks/YouTubeHeader/YTReelWatchPlaybackOverlayView.h" From 760d403b9c0a164500ca8b2b1716ece380bdabe7 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 22 Mar 2024 17:24:34 -0500 Subject: [PATCH 21/58] Update uYouPlus.h --- Sources/uYouPlus.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/uYouPlus.h b/Sources/uYouPlus.h index caf6f3c..a816363 100644 --- a/Sources/uYouPlus.h +++ b/Sources/uYouPlus.h @@ -18,6 +18,7 @@ #import "Tweaks/YouTubeHeader/YTIPivotBarItemRenderer.h" #import "Tweaks/YouTubeHeader/YTIBrowseRequest.h" #import "Tweaks/YouTubeHeader/YTIButtonRenderer.h" +#import "Tweaks/YouTubeHeader/YTIElementRenderer.h" #import "Tweaks/YouTubeHeader/YTISectionListRenderer.h" #import "Tweaks/YouTubeHeader/YTWatchNextResultsViewController.h" #import "Tweaks/YouTubeHeader/YTPlayerOverlay.h" From 04079257f3d35955fd4d4d5c87dd15b933951447 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 22 Mar 2024 17:37:33 -0500 Subject: [PATCH 22/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index ed8cc98..b4a33cb 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -102,6 +102,29 @@ static NSString *accessGroupID() { %end // Workaround: uYou 3.0.3 Adblock fix. +BOOL isAd(YTIElementRenderer *self) { + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { + if (self != nil) { + NSString *description = [self description]; + if ([description containsString:@"brand_promo"] + || [description containsString:@"statement_banner"] + || [description containsString:@"product_carousel"] + || [description containsString:@"product_engagement_panel"] + || [description containsString:@"product_item"] + || [description containsString:@"expandable_list"] + || [description containsString:@"text_search_ad"] + || [description containsString:@"text_image_button_layout"] + || [description containsString:@"carousel_headered_layout"] + || [description containsString:@"carousel_footered_layout"] + || [description containsString:@"square_image_layout"] + || [description containsString:@"landscape_image_wide_button_layout"] + || [description containsString:@"feed_ad_metadata"]) + return YES; + } + } + return NO; +} + %hook YTSectionListViewController - (void)loadWithModel:(YTISectionListRenderer *)model { if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { From da72400d6dcf59ea23938b6a674c5e05880c03af Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 23 Mar 2024 01:16:25 +0000 Subject: [PATCH 23/58] updated submodules --- Tweaks/DontEatMyContent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/DontEatMyContent b/Tweaks/DontEatMyContent index dba2a41..8513a0f 160000 --- a/Tweaks/DontEatMyContent +++ b/Tweaks/DontEatMyContent @@ -1 +1 @@ -Subproject commit dba2a4149676c41af17e49705af88d0a3b1d100d +Subproject commit 8513a0f3b4aeeb9f8aaf9b8d30002ba08f04d4da From 4966b0b86ad386c32296346e34395e4767b3eedd Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 22 Mar 2024 21:08:55 -0500 Subject: [PATCH 24/58] (CODE_OF_CONDUCT update) - restrictions to .IPA files. --- CODE_OF_CONDUCT.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 43f6e0a..b21685e 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -7,10 +7,11 @@ If I verify a reported Code of Conduct violation, my policy is: - The use of the name `uYouPlusExtra` is prohibited. The correct and updated name for this repository is `uYouEnhanced`. -- Users who fork this repository, utilize it in actions, or build it from the repository on Git are prohibited from releasing .ipa files on their forked repositories. This restriction is in place to comply with the following https://enterprise.githubsupport.com/attachments/token/1u4kyYJnjA8HZTPMXOGBhRk4Q/?, also, preventing any potential legal issues. If a user violates this rule by including an .ipa file in their GitHub release publicly, appropriate actions will be taken. I do apologize for this y'all. +- Users who fork this repository, utilize it in actions, or build it from the repository on Git are prohibited from releasing .ipa files on their forked repositories. This restriction is in place to comply with the following https://enterprise.githubsupport.com/attachments/token/1u4kyYJnjA8HZTPMXOGBhRk4Q/?, also, preventing any potential legal issues. If a user violates this rule by including an .ipa file in their GitHub release publicly, appropriate actions will be taken from either the tweak developer or Google since .ipa's aren't allowed, they have the rights to do that. I apologize but it's the only way keep the repo from getting taken down. +**Simpiflied/ADHD Version:** when building the ipa from your forked repository of uYouEnhanced, please do not upload and publish any .ipa files or I will have to do a request to take it down.
- Exclusive Rule for uYouPlus devs ⬇️ + Exclusive Rule for the original uYouPlus devs ⬇️ - The Users **qnblackcat** and **PoomSmart** are prohibited from utilizing any new or modified code that was introduced in the uYouEnhanced fork, but I'll allow you to use submodules and I allow you to utize the code you made for this fork. but Violation of this rule from the ones I don't allow will result in appropriate consequences, including but not limited to account suspension, access revocation, or other disciplinary actions as deemed necessary by the project administrators. Furthermore, it is strictly forbidden to publicly share or showcase the content of this policy on any social media platforms. Any breach of this restriction may result in similar disciplinary actions. This was policy was made to keep any rejected features on uYouEnhanced.
@@ -21,5 +22,5 @@ The following versions of the uYouEnhanced Tweak are currently supported with se | Version | LTS Support | YT Version Supported | App Stability | uYou Functionality | | ------- | ----------- | -------------------- | ------------- | ------------------ | | [latest] | ✅ | ✅ | Stable | Fully functional | -| [19.06.2-3.0.3 LTS] | ✅ | ✅ | Stable, only provides version 19.06.2 of YouTube and uYou 3.0.3 | Crashes the App if the video is in Fullscreen on an iPad Device. | -| [16.42.3-2.1 LTS](https://github.com/arichornlover/uYouEnhanced/tree/main-16.42.3LTS) | Discontinued | ❌ | iOS 16+ compatibility issues, some features may not work properly. App will not work anymore, servers are closed in this version. 💔 | uYou Video/Audio Downloading is offline (except uYouLocal). | +| [19.06.2-3.0.3 LTS] | ✅ | ✅ | Stable, only provides version 19.06.2 of YouTube and uYou 3.0.3 | Crashes the App if the video is in Fullscreen on an iPad Device which would only happen if you installed the ipa using different sideloading/jailbreak tool. | +| [16.42.3-2.1 LTS](https://github.com/arichornlover/uYouEnhanced/tree/main-16.42.3LTS) | Discontinued | ❌ | iOS 16+ compatibility issues, some features may not work properly. App will not work anymore (except Search Menu, that's it.), and sadly most of the servers were closed on this version and includes all v16 releases affected aswell. 💔 | uYou Video/Audio Downloading is offline (except uYouLocal). | From ec0932e92af7b7c135c13f116558334f087d7448 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 22 Mar 2024 21:49:29 -0500 Subject: [PATCH 25/58] v19.10.7-3.0.3 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ab3e211..59c4f01 100644 --- a/README.md +++ b/README.md @@ -280,21 +280,21 @@ - My official AltStore repo: https://therealfoxster.github.io/altsource-viewer/view/?source=https://raw.githubusercontent.com/arichornlover/arichornlover.github.io/main/apps.json - - [Open in AltStore (v19.10.5-3.0.3)](https://tinyurl.com/d78ebdb2) - It will take a while to install because AltStore needs to download the IPA first. + - [Open in AltStore (v19.10.7-3.0.3)](https://tinyurl.com/2s4zrj2h) - It will take a while to install because AltStore needs to download the IPA first.
Version information (last updated: Mar 12, 2024) | **Tweaks/App** | **Developer** | **Version** | **Open source** | | - | - | :-: | :-: | -| **YouTube** | Google Inc | 19.10.5 | ✖︎ | +| **YouTube** | Google Inc | 19.10.7 | ✖︎ | | [uYou](https://github.com/MiRO92/uYou-for-YouTube) | [MiRO92](https://twitter.com/miro92) | 3.0.3 | ✖︎ | | **Open in YouTube** | [CokePokes](https://github.com/CokePokes) | 1.2 | [✔︎](https://github.com/CokePokes/YoutubeExtensions) | | **iSponsorBlock** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.2.2 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) | | **BigYTMiniPlayer** | [Galactic-Dev](https://github.com/Galactic-Dev) | 1.0-1 | [✔︎](https://github.com/Galactic-Dev/BigYTMiniPlayer) | | **YTNoHoverCards** | [level3tjg](https://twitter.com/level3tjg) | 0.0.3 | [✔︎](https://github.com/level3tjg/YTNoHoverCards) | | **YTMiniplayerEnabler** | [level3tjg](https://twitter.com/level3tjg) | 0.0.2 | [✔︎](https://github.com/level3tjg/YTMiniplayerEnabler) | -| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.1.3 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) | +| **DontEatMyContent** | [therealFoxster](https://github.com/therealFoxster) | 1.1.5 | [✔︎](https://github.com/therealFoxster/DontEatMyContent) | | **YTSpeed** | [Lyvendia](https://github.com/Lyvendia) | 1.0.1 | [✔︎](https://github.com/Lyvendia/YTSpeed) | | **Alderis Color Picker** | [HASHBANG Productions](https://github.com/hbang) | 1.2 | [✔︎](https://github.com/hbang/Alderis) | | **YTUHD** | [PoomSmart](https://twitter.com/poomsmart) | 1.4.3 | [✔︎](https://github.com/PoomSmart/YTUHD) | From 4b51f5ce3003e437d62c743374f0b4913ab8731f Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sat, 23 Mar 2024 15:59:59 -0500 Subject: [PATCH 26/58] Updated App Version Spoofer (supports v17.33.2 up to recent release) Reason for this change: the versions no longer work due to Google discontinuing those versions. If I kept this in you would most likely receive the ERROR 404 message. --- Sources/uYouPlusVersionSpoofer.xm | 416 ++++++------------------------ 1 file changed, 82 insertions(+), 334 deletions(-) diff --git a/Sources/uYouPlusVersionSpoofer.xm b/Sources/uYouPlusVersionSpoofer.xm index e89b251..f89f12a 100644 --- a/Sources/uYouPlusVersionSpoofer.xm +++ b/Sources/uYouPlusVersionSpoofer.xm @@ -250,685 +250,496 @@ static BOOL version80() { static BOOL version81() { return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 81; } -static BOOL version82() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 82; -} -static BOOL version83() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 83; -} -static BOOL version84() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 84; -} -static BOOL version85() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 85; -} -static BOOL version86() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 86; -} -static BOOL version87() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 87; -} -static BOOL version88() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 88; -} -static BOOL version89() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 89; -} -static BOOL version90() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 90; -} -static BOOL version91() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 91; -} -static BOOL version92() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 92; -} -static BOOL version93() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 93; -} -static BOOL version94() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 94; -} -static BOOL version95() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 95; -} -static BOOL version96() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 96; -} -static BOOL version97() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 97; -} -static BOOL version98() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 98; -} -static BOOL version99() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 99; -} -static BOOL version100() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 100; -} -static BOOL version101() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 101; -} -static BOOL version102() { - return IS_ENABLED(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 102; -} %group gVersion0 %hook YTVersionUtils // 0 -+ (NSString *)appVersion { return @"18.49.3"; } ++ (NSString *)appVersion { return @"19.10.7"; } %end %end %group gVersion1 %hook YTVersionUtils // 1 -+ (NSString *)appVersion { return @"18.48.3"; } ++ (NSString *)appVersion { return @"19.10.6"; } %end %end %group gVersion2 %hook YTVersionUtils // 2 -+ (NSString *)appVersion { return @"18.46.3"; } ++ (NSString *)appVersion { return @"19.10.5"; } %end %end %group gVersion3 %hook YTVersionUtils // 3 -+ (NSString *)appVersion { return @"18.45.2"; } ++ (NSString *)appVersion { return @"19.09.4"; } %end %end %group gVersion4 %hook YTVersionUtils // 4 -+ (NSString *)appVersion { return @"18.44.3"; } ++ (NSString *)appVersion { return @"19.09.3"; } %end %end %group gVersion5 %hook YTVersionUtils // 5 -+ (NSString *)appVersion { return @"18.43.4"; } ++ (NSString *)appVersion { return @"19.08.2"; } %end %end %group gVersion6 %hook YTVersionUtils // 6 -+ (NSString *)appVersion { return @"18.41.5"; } ++ (NSString *)appVersion { return @"19.07.5"; } %end %end %group gVersion7 %hook YTVersionUtils // 7 -+ (NSString *)appVersion { return @"18.41.3"; } ++ (NSString *)appVersion { return @"19.07.4"; } %end %end %group gVersion8 %hook YTVersionUtils // 8 -+ (NSString *)appVersion { return @"18.41.2"; } ++ (NSString *)appVersion { return @"19.06.2"; } %end %end %group gVersion9 %hook YTVersionUtils // 9 -+ (NSString *)appVersion { return @"18.40.1"; } ++ (NSString *)appVersion { return @"19.05.5"; } %end %end %group gVersion10 %hook YTVersionUtils // 10 -+ (NSString *)appVersion { return @"18.39.1"; } ++ (NSString *)appVersion { return @"19.05.3"; } %end %end %group gVersion11 %hook YTVersionUtils // 11 -+ (NSString *)appVersion { return @"18.38.2"; } ++ (NSString *)appVersion { return @"19.04.3"; } %end %end %group gVersion12 %hook YTVersionUtils // 12 -+ (NSString *)appVersion { return @"18.35.4"; } ++ (NSString *)appVersion { return @"19.03.2"; } %end %end %group gVersion13 %hook YTVersionUtils // 13 -+ (NSString *)appVersion { return @"18.34.5"; } ++ (NSString *)appVersion { return @"19.02.1"; } %end %end %group gVersion14 %hook YTVersionUtils // 14 -+ (NSString *)appVersion { return @"18.33.3"; } ++ (NSString *)appVersion { return @"19.01.1"; } %end %end %group gVersion15 %hook YTVersionUtils // 15 -+ (NSString *)appVersion { return @"18.33.2"; } ++ (NSString *)appVersion { return @"18.49.3"; } %end %end %group gVersion16 %hook YTVersionUtils // 16 -+ (NSString *)appVersion { return @"18.32.2"; } ++ (NSString *)appVersion { return @"18.48.3"; } %end %end %group gVersion17 %hook YTVersionUtils // 17 -+ (NSString *)appVersion { return @"18.31.3"; } ++ (NSString *)appVersion { return @"18.46.3"; } %end %end %group gVersion18 %hook YTVersionUtils // 18 -+ (NSString *)appVersion { return @"18.30.7"; } ++ (NSString *)appVersion { return @"18.45.2"; } %end %end %group gVersion19 %hook YTVersionUtils // 19 -+ (NSString *)appVersion { return @"18.30.6"; } ++ (NSString *)appVersion { return @"18.44.3"; } %end %end %group gVersion20 %hook YTVersionUtils // 20 -+ (NSString *)appVersion { return @"18.29.1"; } ++ (NSString *)appVersion { return @"18.43.4"; } %end %end %group gVersion21 %hook YTVersionUtils // 21 -+ (NSString *)appVersion { return @"18.28.3"; } ++ (NSString *)appVersion { return @"18.41.5"; } %end %end %group gVersion22 %hook YTVersionUtils // 22 -+ (NSString *)appVersion { return @"18.27.3"; } ++ (NSString *)appVersion { return @"18.41.3"; } %end %end %group gVersion23 %hook YTVersionUtils // 23 -+ (NSString *)appVersion { return @"18.25.1"; } ++ (NSString *)appVersion { return @"18.41.2"; } %end %end %group gVersion24 %hook YTVersionUtils // 24 -+ (NSString *)appVersion { return @"18.23.3"; } ++ (NSString *)appVersion { return @"18.40.1"; } %end %end %group gVersion25 %hook YTVersionUtils // 25 -+ (NSString *)appVersion { return @"18.22.9"; } ++ (NSString *)appVersion { return @"18.39.1"; } %end %end %group gVersion26 %hook YTVersionUtils // 26 -+ (NSString *)appVersion { return @"18.21.3"; } ++ (NSString *)appVersion { return @"18.38.2"; } %end %end %group gVersion27 %hook YTVersionUtils // 27 -+ (NSString *)appVersion { return @"18.20.3"; } ++ (NSString *)appVersion { return @"18.35.4"; } %end %end %group gVersion28 %hook YTVersionUtils // 28 -+ (NSString *)appVersion { return @"18.19.1"; } ++ (NSString *)appVersion { return @"18.34.5"; } %end %end %group gVersion29 %hook YTVersionUtils // 29 -+ (NSString *)appVersion { return @"18.18.2"; } ++ (NSString *)appVersion { return @"18.33.3"; } %end %end %group gVersion30 %hook YTVersionUtils // 30 -+ (NSString *)appVersion { return @"18.17.2"; } ++ (NSString *)appVersion { return @"18.33.2"; } %end %end %group gVersion31 %hook YTVersionUtils // 31 -+ (NSString *)appVersion { return @"18.16.2"; } ++ (NSString *)appVersion { return @"18.32.2"; } %end %end %group gVersion32 %hook YTVersionUtils // 32 -+ (NSString *)appVersion { return @"18.15.1"; } ++ (NSString *)appVersion { return @"18.31.3"; } %end %end %group gVersion33 %hook YTVersionUtils // 33 -+ (NSString *)appVersion { return @"18.14.1"; } ++ (NSString *)appVersion { return @"18.30.7"; } %end %end %group gVersion34 %hook YTVersionUtils // 34 -+ (NSString *)appVersion { return @"18.13.4"; } ++ (NSString *)appVersion { return @"18.30.6"; } %end %end %group gVersion35 %hook YTVersionUtils // 35 -+ (NSString *)appVersion { return @"18.12.2"; } ++ (NSString *)appVersion { return @"18.29.1"; } %end %end %group gVersion36 %hook YTVersionUtils // 36 -+ (NSString *)appVersion { return @"18.11.2"; } ++ (NSString *)appVersion { return @"18.28.3"; } %end %end %group gVersion37 %hook YTVersionUtils // 37 -+ (NSString *)appVersion { return @"18.10.1"; } ++ (NSString *)appVersion { return @"18.27.3"; } %end %end %group gVersion38 %hook YTVersionUtils // 38 -+ (NSString *)appVersion { return @"18.09.4"; } ++ (NSString *)appVersion { return @"18.25.1"; } %end %end %group gVersion39 %hook YTVersionUtils // 39 -+ (NSString *)appVersion { return @"18.08.1"; } ++ (NSString *)appVersion { return @"18.23.3"; } %end %end %group gVersion40 %hook YTVersionUtils // 40 -+ (NSString *)appVersion { return @"18.07.5"; } ++ (NSString *)appVersion { return @"18.22.9"; } %end %end %group gVersion41 %hook YTVersionUtils // 41 -+ (NSString *)appVersion { return @"18.05.2"; } ++ (NSString *)appVersion { return @"18.21.3"; } %end %end %group gVersion42 %hook YTVersionUtils // 42 -+ (NSString *)appVersion { return @"18.04.3"; } ++ (NSString *)appVersion { return @"18.20.3"; } %end %end %group gVersion43 %hook YTVersionUtils // 43 -+ (NSString *)appVersion { return @"18.03.3"; } ++ (NSString *)appVersion { return @"18.19.1"; } %end %end %group gVersion44 %hook YTVersionUtils // 44 -+ (NSString *)appVersion { return @"18.02.03"; } ++ (NSString *)appVersion { return @"18.18.2"; } %end %end %group gVersion45 %hook YTVersionUtils // 45 -+ (NSString *)appVersion { return @"18.01.6"; } ++ (NSString *)appVersion { return @"18.17.2"; } %end %end %group gVersion46 %hook YTVersionUtils // 46 -+ (NSString *)appVersion { return @"18.01.4"; } ++ (NSString *)appVersion { return @"18.16.2"; } %end %end %group gVersion47 %hook YTVersionUtils // 47 -+ (NSString *)appVersion { return @"18.01.2"; } ++ (NSString *)appVersion { return @"18.15.1"; } %end %end %group gVersion48 %hook YTVersionUtils // 48 -+ (NSString *)appVersion { return @"17.49.6"; } ++ (NSString *)appVersion { return @"18.14.1"; } %end %end %group gVersion49 %hook YTVersionUtils // 49 -+ (NSString *)appVersion { return @"17.49.4"; } ++ (NSString *)appVersion { return @"18.13.4"; } %end %end %group gVersion50 %hook YTVersionUtils // 50 -+ (NSString *)appVersion { return @"17.46.4"; } ++ (NSString *)appVersion { return @"18.12.2"; } %end %end %group gVersion51 %hook YTVersionUtils // 51 -+ (NSString *)appVersion { return @"17.45.1"; } ++ (NSString *)appVersion { return @"18.11.2"; } %end %end %group gVersion52 %hook YTVersionUtils // 52 -+ (NSString *)appVersion { return @"17.44.4"; } ++ (NSString *)appVersion { return @"18.10.1"; } %end %end %group gVersion53 %hook YTVersionUtils // 53 -+ (NSString *)appVersion { return @"17.43.1"; } ++ (NSString *)appVersion { return @"18.09.4"; } %end %end %group gVersion54 %hook YTVersionUtils // 54 -+ (NSString *)appVersion { return @"17.42.7"; } ++ (NSString *)appVersion { return @"18.08.1"; } %end %end %group gVersion55 %hook YTVersionUtils // 55 -+ (NSString *)appVersion { return @"17.42.6"; } ++ (NSString *)appVersion { return @"18.07.5"; } %end %end %group gVersion56 %hook YTVersionUtils // 56 -+ (NSString *)appVersion { return @"17.41.2"; } ++ (NSString *)appVersion { return @"18.05.2"; } %end %end %group gVersion57 %hook YTVersionUtils // 57 -+ (NSString *)appVersion { return @"17.40.5"; } ++ (NSString *)appVersion { return @"18.04.3"; } %end %end %group gVersion58 %hook YTVersionUtils // 58 -+ (NSString *)appVersion { return @"17.39.4"; } ++ (NSString *)appVersion { return @"18.03.3"; } %end %end %group gVersion59 %hook YTVersionUtils // 59 -+ (NSString *)appVersion { return @"17.38.10"; } ++ (NSString *)appVersion { return @"18.02.03"; } %end %end %group gVersion60 %hook YTVersionUtils // 60 -+ (NSString *)appVersion { return @"17.38.9"; } ++ (NSString *)appVersion { return @"18.01.6"; } %end %end %group gVersion61 %hook YTVersionUtils // 61 -+ (NSString *)appVersion { return @"17.37.3"; } ++ (NSString *)appVersion { return @"18.01.4"; } %end %end %group gVersion62 %hook YTVersionUtils // 62 -+ (NSString *)appVersion { return @"17.36.4"; } ++ (NSString *)appVersion { return @"18.01.2"; } %end %end %group gVersion63 %hook YTVersionUtils // 63 -+ (NSString *)appVersion { return @"17.36.3"; } ++ (NSString *)appVersion { return @"17.49.6"; } %end %end %group gVersion64 %hook YTVersionUtils // 64 -+ (NSString *)appVersion { return @"17.35.3"; } ++ (NSString *)appVersion { return @"17.49.4"; } %end %end %group gVersion65 %hook YTVersionUtils // 65 -+ (NSString *)appVersion { return @"17.34.3"; } ++ (NSString *)appVersion { return @"17.46.4"; } %end %end %group gVersion66 %hook YTVersionUtils // 66 -+ (NSString *)appVersion { return @"17.33.2"; } ++ (NSString *)appVersion { return @"17.45.1"; } %end %end %group gVersion67 %hook YTVersionUtils // 67 -+ (NSString *)appVersion { return @"17.32.2"; } ++ (NSString *)appVersion { return @"17.44.4"; } %end %end %group gVersion68 %hook YTVersionUtils // 68 -+ (NSString *)appVersion { return @"17.31.4"; } ++ (NSString *)appVersion { return @"17.43.1"; } %end %end %group gVersion69 %hook YTVersionUtils // 69 -+ (NSString *)appVersion { return @"17.30.3"; } ++ (NSString *)appVersion { return @"17.42.7"; } %end %end %group gVersion70 %hook YTVersionUtils // 70 -+ (NSString *)appVersion { return @"17.30.1"; } ++ (NSString *)appVersion { return @"17.42.6"; } %end %end %group gVersion71 %hook YTVersionUtils // 71 -+ (NSString *)appVersion { return @"17.29.3"; } ++ (NSString *)appVersion { return @"17.41.2"; } %end %end %group gVersion72 %hook YTVersionUtils // 72 -+ (NSString *)appVersion { return @"17.29.2"; } ++ (NSString *)appVersion { return @"17.40.5"; } %end %end %group gVersion73 %hook YTVersionUtils // 73 -+ (NSString *)appVersion { return @"17.28.2"; } ++ (NSString *)appVersion { return @"17.39.4"; } %end %end %group gVersion74 %hook YTVersionUtils // 74 -+ (NSString *)appVersion { return @"17.26.2"; } ++ (NSString *)appVersion { return @"17.38.10"; } %end %end %group gVersion75 %hook YTVersionUtils // 75 -+ (NSString *)appVersion { return @"17.25.1"; } ++ (NSString *)appVersion { return @"17.38.9"; } %end %end %group gVersion76 %hook YTVersionUtils // 76 -+ (NSString *)appVersion { return @"17.24.4"; } ++ (NSString *)appVersion { return @"17.37.3"; } %end %end %group gVersion77 %hook YTVersionUtils // 77 -+ (NSString *)appVersion { return @"17.23.6"; } ++ (NSString *)appVersion { return @"17.36.4"; } %end %end %group gVersion78 %hook YTVersionUtils // 78 -+ (NSString *)appVersion { return @"17.22.3"; } ++ (NSString *)appVersion { return @"17.36.3"; } %end %end %group gVersion79 %hook YTVersionUtils // 79 -+ (NSString *)appVersion { return @"17.21.3"; } ++ (NSString *)appVersion { return @"17.35.3"; } %end %end %group gVersion80 %hook YTVersionUtils // 80 -+ (NSString *)appVersion { return @"17.20.3"; } ++ (NSString *)appVersion { return @"17.34.3"; } %end %end %group gVersion81 %hook YTVersionUtils // 81 -+ (NSString *)appVersion { return @"17.19.3"; } -%end -%end - -%group gVersion82 -%hook YTVersionUtils // 82 -+ (NSString *)appVersion { return @"17.19.2"; } -%end -%end - -%group gVersion83 -%hook YTVersionUtils // 83 -+ (NSString *)appVersion { return @"17.18.4"; } -%end -%end - -%group gVersion84 -%hook YTVersionUtils // 84 -+ (NSString *)appVersion { return @"17.17.4"; } -%end -%end - -%group gVersion85 -%hook YTVersionUtils // 85 -+ (NSString *)appVersion { return @"17.16.4"; } -%end -%end - -%group gVersion86 -%hook YTVersionUtils // 86 -+ (NSString *)appVersion { return @"17.15.2"; } -%end -%end - -%group gVersion87 -%hook YTVersionUtils // 87 -+ (NSString *)appVersion { return @"17.15.1"; } -%end -%end - -%group gVersion88 -%hook YTVersionUtils // 88 -+ (NSString *)appVersion { return @"17.14.2"; } -%end -%end - -%group gVersion89 -%hook YTVersionUtils // 89 -+ (NSString *)appVersion { return @"17.13.3"; } -%end -%end - -%group gVersion90 -%hook YTVersionUtils // 90 -+ (NSString *)appVersion { return @"17.12.5"; } -%end -%end - -%group gVersion91 -%hook YTVersionUtils // 91 -+ (NSString *)appVersion { return @"17.12.4"; } -%end -%end - -%group gVersion92 -%hook YTVersionUtils // 92 -+ (NSString *)appVersion { return @"17.11.2"; } -%end -%end - -%group gVersion93 -%hook YTVersionUtils // 93 -+ (NSString *)appVersion { return @"17.10.2"; } -%end -%end - -%group gVersion94 -%hook YTVersionUtils // 94 -+ (NSString *)appVersion { return @"17.09.1"; } -%end -%end - -%group gVersion95 -%hook YTVersionUtils // 95 -+ (NSString *)appVersion { return @"17.08.2"; } -%end -%end - -%group gVersion96 -%hook YTVersionUtils // 96 -+ (NSString *)appVersion { return @"17.07.2"; } -%end -%end - -%group gVersion97 -%hook YTVersionUtils // 97 -+ (NSString *)appVersion { return @"17.06.3"; } -%end -%end - -%group gVersion98 -%hook YTVersionUtils // 98 -+ (NSString *)appVersion { return @"17.05.2"; } -%end -%end - -%group gVersion99 -%hook YTVersionUtils // 99 -+ (NSString *)appVersion { return @"17.04.3"; } -%end -%end - -%group gVersion100 -%hook YTVersionUtils // 100 -+ (NSString *)appVersion { return @"17.03.3"; } -%end -%end - -%group gVersion101 -%hook YTVersionUtils // 101 -+ (NSString *)appVersion { return @"17.03.2"; } -%end -%end - -%group gVersion102 -%hook YTVersionUtils // 102 -+ (NSString *)appVersion { return @"17.01.4"; } ++ (NSString *)appVersion { return @"17.33.2"; } %end %end @@ -1181,67 +992,4 @@ static BOOL version102() { if (version81()) { // 81 %init(gVersion81); } - if (version82()) { // 82 - %init(gVersion82); - } - if (version83()) { // 83 - %init(gVersion83); - } - if (version84()) { // 84 - %init(gVersion84); - } - if (version85()) { // 85 - %init(gVersion85); - } - if (version86()) { // 86 - %init(gVersion86); - } - if (version87()) { // 87 - %init(gVersion87); - } - if (version88()) { // 88 - %init(gVersion88); - } - if (version89()) { // 89 - %init(gVersion89); - } - if (version90()) { // 90 - %init(gVersion90); - } - if (version91()) { // 91 - %init(gVersion91); - } - if (version92()) { // 92 - %init(gVersion92); - } - if (version93()) { // 93 - %init(gVersion93); - } - if (version94()) { // 94 - %init(gVersion94); - } - if (version95()) { // 95 - %init(gVersion95); - } - if (version96()) { // 96 - %init(gVersion96); - } - if (version97()) { // 97 - %init(gVersion97); - } - if (version98()) { // 98 - %init(gVersion98); - } - if (version99()) { // 99 - %init(gVersion99); - } - if (version100()) { // 100 - %init(gVersion100); - } - if (version101()) { // 101 - %init(gVersion101); - } - if (version102()) { // 102 - %init(gVersion102); - } } From 371517f4931fe085ed03186af4cafd6e83cc2816 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sat, 23 Mar 2024 16:31:11 -0500 Subject: [PATCH 27/58] Update App Version Spoofer Settings This change is necessary so this would work. https://github.com/arichornlover/uYouEnhanced/commit/4b51f5ce3003e437d62c743374f0b4913ab8731f --- Sources/uYouPlusSettings.xm | 495 +++++++++++++----------------------- 1 file changed, 174 insertions(+), 321 deletions(-) diff --git a/Sources/uYouPlusSettings.xm b/Sources/uYouPlusSettings.xm index 14ea3d0..5e7406a 100644 --- a/Sources/uYouPlusSettings.xm +++ b/Sources/uYouPlusSettings.xm @@ -322,730 +322,583 @@ extern NSBundle *uYouPlusBundle(); detailTextBlock:^NSString *() { switch (appVersionSpoofer()) { case 1: - return @"v18.48.3"; + return @"v19.10.6"; case 2: - return @"v18.46.3"; + return @"v19.10.5"; case 3: - return @"v18.45.2"; + return @"v19.09.4"; case 4: - return @"v18.44.3"; + return @"v19.09.3"; case 5: - return @"v18.43.4"; + return @"v19.08.2"; case 6: - return @"v18.41.5"; + return @"v19.07.5"; case 7: - return @"v18.41.3"; + return @"v19.07.4"; case 8: - return @"v18.41.2"; + return @"v19.06.2"; case 9: - return @"v18.40.1"; + return @"v19.05.5"; case 10: - return @"v18.39.1"; + return @"v19.05.3"; case 11: - return @"v18.38.2"; + return @"v19.04.3"; case 12: - return @"v18.35.4"; + return @"v19.03.2"; case 13: - return @"v18.34.5"; + return @"v19.02.1"; case 14: - return @"v18.33.3"; + return @"v19.01.1"; case 15: - return @"v18.33.2"; + return @"v18.49.3"; case 16: - return @"v18.32.2"; + return @"v18.48.3"; case 17: - return @"v18.31.3"; + return @"v18.46.3"; case 18: - return @"v18.30.7"; + return @"v18.45.2"; case 19: - return @"v18.30.6"; + return @"v18.44.3"; case 20: - return @"v18.29.1"; + return @"v18.43.4"; case 21: - return @"v18.28.3"; + return @"v18.41.5"; case 22: - return @"v18.27.3"; + return @"v18.41.3"; case 23: - return @"v18.25.1"; + return @"v18.41.2"; case 24: - return @"v18.23.3"; + return @"v18.40.1"; case 25: - return @"v18.22.9"; + return @"v18.39.1"; case 26: - return @"v18.21.3"; + return @"v18.38.2"; case 27: - return @"v18.20.3"; + return @"v18.35.4"; case 28: - return @"v18.19.1"; + return @"v18.34.5"; case 29: - return @"v18.18.2"; + return @"v18.33.3"; case 30: - return @"v18.17.2"; + return @"v18.33.2"; case 31: - return @"v18.16.2"; + return @"v18.32.2"; case 32: - return @"v18.15.1"; + return @"v18.31.3"; case 33: - return @"v18.14.1"; + return @"v18.30.7"; case 34: - return @"v18.13.4"; + return @"v18.30.6"; case 35: - return @"v18.12.2"; + return @"v18.29.1"; case 36: - return @"v18.11.2"; + return @"v18.28.3"; case 37: - return @"v18.10.1"; + return @"v18.27.3"; case 38: - return @"v18.09.4"; + return @"v18.25.1"; case 39: - return @"v18.08.1"; + return @"v18.23.3"; case 40: - return @"v18.07.5"; + return @"v18.22.9"; case 41: - return @"v18.05.2"; + return @"v18.21.3"; case 42: - return @"v18.04.3"; + return @"v18.20.3"; case 43: - return @"v18.03.3"; + return @"v18.19.1"; case 44: - return @"v18.02.03"; + return @"v18.18.2"; case 45: - return @"v18.01.6"; + return @"v18.17.2"; case 46: - return @"v18.01.4"; + return @"v18.16.2"; case 47: - return @"v18.01.2"; + return @"v18.15.1"; case 48: - return @"v17.49.6"; + return @"v18.14.1"; case 49: - return @"v17.49.4"; + return @"v18.13.4"; case 50: - return @"v17.46.4"; + return @"v18.12.2"; case 51: - return @"v17.45.1"; + return @"v18.11.2"; case 52: - return @"v17.44.4"; + return @"v18.10.1"; case 53: - return @"v17.43.1"; + return @"v18.09.4"; case 54: - return @"v17.42.7"; + return @"v18.08.1"; case 55: - return @"v17.42.6"; + return @"v18.07.5"; case 56: - return @"v17.41.2"; + return @"v18.05.2"; case 57: - return @"v17.40.5"; + return @"v18.04.3"; case 58: - return @"v17.39.4"; + return @"v18.03.3"; case 59: - return @"v17.38.10"; + return @"v18.02.03"; case 60: - return @"v17.38.9"; + return @"v18.01.6"; case 61: - return @"v17.37.2"; + return @"v18.01.4"; case 62: - return @"v17.36.4"; + return @"v18.01.2"; case 63: - return @"v17.36.3"; + return @"v17.49.6"; case 64: - return @"v17.35.3"; + return @"v17.49.4"; case 65: - return @"v17.34.3"; + return @"v17.46.4"; case 66: - return @"v17.33.2"; + return @"v17.45.1"; case 67: - return @"v17.32.2"; + return @"v17.44.4"; case 68: - return @"v17.31.4"; + return @"v17.43.1"; case 69: - return @"v17.30.3"; + return @"v17.42.7"; case 70: - return @"v17.30.1"; + return @"v17.42.6"; case 71: - return @"v17.29.3"; + return @"v17.41.2"; case 72: - return @"v17.29.2"; + return @"v17.40.5"; case 73: - return @"v17.28.2"; + return @"v17.39.4"; case 74: - return @"v17.26.2"; + return @"v17.38.10"; case 75: - return @"v17.25.1"; + return @"v17.38.9"; case 76: - return @"v17.24.4"; + return @"v17.37.2"; case 77: - return @"v17.23.6"; + return @"v17.36.4"; case 78: - return @"v17.22.3"; + return @"v17.36.3"; case 79: - return @"v17.21.3"; + return @"v17.35.3"; case 80: - return @"v17.20.3"; + return @"v17.34.3"; case 81: - return @"v17.19.3"; - case 82: - return @"v17.19.2"; - case 83: - return @"v17.18.4"; - case 84: - return @"v17.17.4"; - case 85: - return @"v17.16.4"; - case 86: - return @"v17.15.2"; - case 87: - return @"v17.15.1"; - case 88: - return @"v17.14.2"; - case 89: - return @"v17.13.3"; - case 90: - return @"v17.12.5"; - case 91: - return @"v17.12.4"; - case 92: - return @"v17.11.2"; - case 93: - return @"v17.10.2"; - case 94: - return @"v17.09.1"; - case 95: - return @"v17.08.2"; - case 96: - return @"v17.07.2"; - case 97: - return @"v17.06.3"; - case 98: - return @"v17.05.2"; - case 99: - return @"v17.04.3"; - case 100: - return @"v17.03.3"; - case 101: - return @"v17.03.2"; - case 102: - return @"v17.01.4"; + return @"v17.33.2"; case 0: default: - return @"v18.49.3"; + return @"v19.10.7"; } } selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { NSArray *rows = @[ - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.49.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.10.7" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.48.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.10.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.46.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.10.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:2 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.45.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.09.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:3 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.44.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.09.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:4 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.43.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.08.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:5 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.41.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.07.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:6 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.41.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.07.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:7 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.41.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.06.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:8 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.40.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.05.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:9 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.39.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.05.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:10 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.38.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.04.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:11 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.35.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.03.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:12 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.34.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.02.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:13 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.33.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v19.01.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:14 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.33.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.49.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:15 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.32.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.48.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:16 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.31.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.46.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:17 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.30.7" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.45.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:18 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.30.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.44.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:19 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.29.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.43.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:20 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.28.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.41.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:21 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.27.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.41.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:22 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.25.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.41.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:23 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.23.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.40.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:24 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.22.9" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.39.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:25 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.21.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.38.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:26 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.20.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.35.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:27 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.19.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.34.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:28 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.18.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.33.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:29 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.17.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.33.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:30 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.16.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.32.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:31 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; - return YES; + return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.15.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.31.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:32 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.14.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.30.7" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:33 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.13.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.30.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:34 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.12.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.29.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:35 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.11.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.28.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:36 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.10.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.27.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:37 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.09.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.25.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:38 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.08.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.23.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:39 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.07.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.22.9" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:40 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.05.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.21.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:41 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.04.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.20.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:42 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.03.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.19.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:43 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.02.03" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.18.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:44 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.01.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.17.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:45 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.01.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.16.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:46 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.01.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + return YES; + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.15.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:47 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.49.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.14.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:48 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.49.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.13.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:49 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.46.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.12.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:50 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.45.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.11.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:51 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.44.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.10.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:52 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.43.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.09.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:53 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.42.7" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.08.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:54 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.42.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.07.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:55 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.41.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.05.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:56 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.40.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.04.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:57 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.39.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.03.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:58 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.38.10" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.02.03" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:59 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.38.9" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.01.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:60 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.37.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.01.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:61 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.36.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v18.01.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:62 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.36.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.49.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:63 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.35.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.49.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:64 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.34.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.46.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:65 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.33.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.45.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:66 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.32.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.44.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:67 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.31.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.43.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:68 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.30.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.42.7" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:69 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.30.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.42.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:70 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.29.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.41.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:71 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.29.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.40.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:72 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.28.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.39.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:73 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.26.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.38.10" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:74 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.25.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.38.9" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:75 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.24.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.37.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:76 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.23.6" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.36.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:77 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.22.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + }], + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.36.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:78 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.21.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.35.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:79 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.20.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.34.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:80 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.19.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { + [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.33.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { [[NSUserDefaults standardUserDefaults] setInteger:81 forKey:@"versionSpoofer"]; [settingsViewController reloadData]; return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.19.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:82 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.18.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:83 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.17.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:84 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.16.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:85 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.15.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:86 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.15.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:87 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.14.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:88 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.13.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:89 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.12.5" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:90 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.12.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:91 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.11.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:92 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.10.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:93 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.09.1" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:94 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.08.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:95 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.07.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:96 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.06.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:97 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.05.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:98 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.04.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:99 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.03.3" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:100 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.03.2" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:101 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; - }], - [YTSettingsSectionItemClass checkmarkItemWithTitle:@"v17.01.4" titleDescription:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { - [[NSUserDefaults standardUserDefaults] setInteger:102 forKey:@"versionSpoofer"]; - [settingsViewController reloadData]; - return YES; }] ]; YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Version Spoofer Picker") pickerSectionTitle:nil rows:rows selectedItemIndex:appVersionSpoofer() parentResponder:[self parentResponder]]; From 2daa22c289e9138c3981083d8b2ea4a9b66f336d Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 23 Mar 2024 23:35:53 +0000 Subject: [PATCH 28/58] updated submodules --- Tweaks/YTUHD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/YTUHD b/Tweaks/YTUHD index a6d72f3..b30fa9b 160000 --- a/Tweaks/YTUHD +++ b/Tweaks/YTUHD @@ -1 +1 @@ -Subproject commit a6d72f333dedb7d9b0e94d7d8efdea19475f288d +Subproject commit b30fa9b4edf220e06c5d90d1b6f7e01e67700abb From 492ee35aed5382b6fbf66fef8e725d690a9c6c0f Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sat, 23 Mar 2024 21:18:06 -0500 Subject: [PATCH 29/58] improved the + logo again Updated the logo that is shown in the navigation bar again! I darkened the color. --- .../uYouPlus.bundle/uYouPlus_logo_main.png | Bin 268 -> 527 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Localizations/uYouPlus.bundle/uYouPlus_logo_main.png b/Localizations/uYouPlus.bundle/uYouPlus_logo_main.png index d9ff52c908819297cc133327190ee3b5bfe6b471..9239573c2c3e587d1b6f123cde2ba0b181fedc6b 100644 GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU0wmSG7d!(}Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4YE z&op0O1}z|)gMqOLK$;OGwtxvPtFeF?!3HU;dX}~ZNU4^% zMwFx^mZVxG7o`Fz1|tI_6I}yiT_cka10yR#Q!685Z36=<1B2rM!X_vha`RI%(<*Um z*v7lM1E@g|WJ792W}20AeolT-a6w{nDuW^aY$i{jq!3)v6{x~LEv-1Ugu%!xSb9+^ zP*xl+8<1I%niJuYnVXtdoSC1;U}B*8c)}k{C6UNVzLa`a0+ld$y85}Sb4q9e0G>*W A(EtDd delta 172 zcmV;d08{^u1dIZZ85ITq004~sxNQIc00DDSM?wIu&K&8H&{KbQNklA-R6j~@`9crA~Ae*5v?t;<#&(<)jdG)^MdMt0000 Date: Sat, 23 Mar 2024 21:50:53 -0500 Subject: [PATCH 30/58] Update Dependencies (buildapp.yml) --- .github/workflows/buildapp.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml index e541201..e9fc975 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/buildapp.yml @@ -76,7 +76,7 @@ jobs: - name: SDK Caching id: SDK - uses: actions/cache@v4.0.1 + uses: actions/cache@v4.0.2 env: cache-name: iOS-${{ inputs.sdk_version }}-SDK with: @@ -155,7 +155,7 @@ jobs: - name: Create Release id: create_release - uses: softprops/action-gh-release@v2.0.1 + uses: softprops/action-gh-release@v2.0.4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} UYOU_VERSION: ${{ inputs.uyou_version }} From b599fd285e827b6960ba4a020205f5a91032b4e1 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 24 Mar 2024 23:37:23 +0000 Subject: [PATCH 31/58] updated submodules --- Tweaks/YTUHD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/YTUHD b/Tweaks/YTUHD index b30fa9b..85b7c0a 160000 --- a/Tweaks/YTUHD +++ b/Tweaks/YTUHD @@ -1 +1 @@ -Subproject commit b30fa9b4edf220e06c5d90d1b6f7e01e67700abb +Subproject commit 85b7c0a2e3ba540106439f9c109e4e4842f56c76 From 6074cbc66589748bcaab88f2710454e42649a4d1 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sun, 24 Mar 2024 19:34:35 -0500 Subject: [PATCH 32/58] Updated delete-workflow-runs Action MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s been updated recently so it’s now consistent with the recent changes. --- .github/workflows/delete-workflow-runs.yml | 35 +++++++++++++--------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/.github/workflows/delete-workflow-runs.yml b/.github/workflows/delete-workflow-runs.yml index 9bcc66c..063fd64 100644 --- a/.github/workflows/delete-workflow-runs.yml +++ b/.github/workflows/delete-workflow-runs.yml @@ -1,43 +1,44 @@ -name: Delete Workflow Runs +name: Delete old workflow runs on: workflow_dispatch: inputs: days: - description: 'Number of days.' + description: 'Days-worth of runs to keep for each workflow' required: true - default: 0 + default: '30' minimum_runs: - description: 'The minimum runs to keep for each workflow.' + description: 'Minimum runs to keep for each workflow' required: true - default: 0 + default: '6' delete_workflow_pattern: - description: 'The name or filename of the workflow. if not set then it will target all workflows.' + description: 'Name or filename of the workflow (if not set, all workflows are targeted)' required: false delete_workflow_by_state_pattern: - description: 'Remove workflow by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually' + description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually' required: true - default: "All" + default: "ALL" type: choice options: - - "All" + - "ALL" - active - deleted - disabled_inactivity - disabled_manually delete_run_by_conclusion_pattern: - description: 'Remove workflow by conclusion: action_required, cancelled, failure, skipped, success' + description: 'Remove runs based on conclusion: action_required, cancelled, failure, skipped, success' required: true - default: "All" + default: "ALL" type: choice options: - - "All" + - "ALL" + - "Unsuccessful: action_required,cancelled,failure,skipped" - action_required - cancelled - failure - skipped - success dry_run: - description: 'Only log actions, do not perform any delete operations.' + description: 'Logs simulated changes, no deletions are performed' required: false jobs: @@ -45,6 +46,7 @@ jobs: runs-on: ubuntu-latest permissions: actions: write + contents: read steps: - name: Delete workflow runs uses: Mattraks/delete-workflow-runs@v2 @@ -55,5 +57,10 @@ jobs: keep_minimum_runs: ${{ github.event.inputs.minimum_runs }} delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }} delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }} - delete_run_by_conclusion_pattern: ${{ github.event.inputs.delete_run_by_conclusion_pattern }} + delete_run_by_conclusion_pattern: >- + ${{ + startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:') + && 'action_required,cancelled,failure,skipped' + || github.event.inputs.delete_run_by_conclusion_pattern + }} dry_run: ${{ github.event.inputs.dry_run }} From 02ad1b068079c04ca37e52ba208ece2cf61b331a Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sun, 24 Mar 2024 20:49:28 -0500 Subject: [PATCH 33/58] Updated LowContrastMode (works only with v17.33.2-v17.38.10) --- Sources/LowContrastMode.xm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/LowContrastMode.xm b/Sources/LowContrastMode.xm index 4b6a6a0..1eb8a07 100644 --- a/Sources/LowContrastMode.xm +++ b/Sources/LowContrastMode.xm @@ -13,7 +13,7 @@ static BOOL customContrastMode() { UIColor *lcmHexColor; -%group gLowContrastMode // Low Contrast Mode v1.5.1 (Compatible with only YouTube v16.05.7-v17.38.10) +%group gLowContrastMode // Low Contrast Mode v1.5.1 (Compatible with only YouTube v17.33.2-v17.38.10) %hook UIColor + (UIColor *)whiteColor { // Dark Theme Color return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00]; From 9f6d833aef3a49a9c3f2b8cf307f5f42c125c5ec Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 26 Mar 2024 22:35:18 +0000 Subject: [PATCH 34/58] updated submodules --- Tweaks/YouPiP | 2 +- Tweaks/YouTubeHeader | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Tweaks/YouPiP b/Tweaks/YouPiP index a310cef..f932a53 160000 --- a/Tweaks/YouPiP +++ b/Tweaks/YouPiP @@ -1 +1 @@ -Subproject commit a310cefd7832194757e62f926d097d52421c0bc1 +Subproject commit f932a53bec244cc23df4c1e42441572d38cc6e90 diff --git a/Tweaks/YouTubeHeader b/Tweaks/YouTubeHeader index 1d04936..8ceee52 160000 --- a/Tweaks/YouTubeHeader +++ b/Tweaks/YouTubeHeader @@ -1 +1 @@ -Subproject commit 1d049363e05b042c6387db34a4e2032ab658462f +Subproject commit 8ceee52a494779d1a09ff716d01c3380656beeb4 From 3c61c085317454ca5bae37bfdfea9bca67e02569 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:55:34 -0500 Subject: [PATCH 35/58] Add new header --- Sources/uYouPlus.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/uYouPlus.h b/Sources/uYouPlus.h index a816363..d68b568 100644 --- a/Sources/uYouPlus.h +++ b/Sources/uYouPlus.h @@ -25,6 +25,7 @@ #import "Tweaks/YouTubeHeader/YTPlayerOverlayProvider.h" #import "Tweaks/YouTubeHeader/YTReelWatchPlaybackOverlayView.h" #import "Tweaks/YouTubeHeader/YTInlinePlayerBarContainerView.h" +#import "Tweaks/YouTubeHeader/YTInnerTubeCollectionViewController.h" #import "Tweaks/YouTubeHeader/YTPivotBarItemView.h" // Hide buttons under the video player by @PoomSmart From af35a71ec5552ec8025ec6fa6288d1fbd0f931c6 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 27 Mar 2024 06:24:20 -0500 Subject: [PATCH 36/58] Improvements to uYouPlus.xm --- Sources/uYouPlus.xm | 140 ++++++++------------------------------------ 1 file changed, 24 insertions(+), 116 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index b4a33cb..6f58b42 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -57,6 +57,30 @@ static NSString *accessGroupID() { } %end +// Workaround: uYou 3.0.3 Adblock fix. +BOOL isAd(YTIElementRenderer *self) { + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { + if (self != nil) { + NSString *description = [self description]; + if ([description containsString:@"brand_promo"] + || [description containsString:@"statement_banner"] + || [description containsString:@"product_carousel"] + || [description containsString:@"product_engagement_panel"] + || [description containsString:@"product_item"] + || [description containsString:@"expandable_list"] + || [description containsString:@"text_search_ad"] + || [description containsString:@"text_image_button_layout"] + || [description containsString:@"carousel_headered_layout"] + || [description containsString:@"carousel_footered_layout"] + || [description containsString:@"square_image_layout"] + || [description containsString:@"landscape_image_wide_button_layout"] + || [description containsString:@"feed_ad_metadata"]) + return YES; + } + } + return NO; +} + // Hide YouTube Logo - @dayanch96 %group gHideYouTubeLogo %hook YTHeaderLogoController @@ -101,30 +125,6 @@ static NSString *accessGroupID() { } %end -// Workaround: uYou 3.0.3 Adblock fix. -BOOL isAd(YTIElementRenderer *self) { - if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - if (self != nil) { - NSString *description = [self description]; - if ([description containsString:@"brand_promo"] - || [description containsString:@"statement_banner"] - || [description containsString:@"product_carousel"] - || [description containsString:@"product_engagement_panel"] - || [description containsString:@"product_item"] - || [description containsString:@"expandable_list"] - || [description containsString:@"text_search_ad"] - || [description containsString:@"text_image_button_layout"] - || [description containsString:@"carousel_headered_layout"] - || [description containsString:@"carousel_footered_layout"] - || [description containsString:@"square_image_layout"] - || [description containsString:@"landscape_image_wide_button_layout"] - || [description containsString:@"feed_ad_metadata"]) - return YES; - } - } - return NO; -} - %hook YTSectionListViewController - (void)loadWithModel:(YTISectionListRenderer *)model { if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { @@ -172,98 +172,6 @@ BOOL isAd(YTIElementRenderer *self) { %end %end -// IAmYouTube - https://github.com/PoomSmart/IAmYouTube/ -%hook YTVersionUtils -+ (NSString *)appName { return YT_NAME; } -+ (NSString *)appID { return YT_BUNDLE_ID; } -%end - -%hook GCKBUtils -+ (NSString *)appIdentifier { return YT_BUNDLE_ID; } -%end - -%hook GPCDeviceInfo -+ (NSString *)bundleId { return YT_BUNDLE_ID; } -%end - -%hook OGLBundle -+ (NSString *)shortAppName { return YT_NAME; } -%end - -%hook GVROverlayView -+ (NSString *)appName { return YT_NAME; } -%end - -%hook OGLPhenotypeFlagServiceImpl -- (NSString *)bundleId { return YT_BUNDLE_ID; } -%end - -%hook APMAEU -+ (BOOL)isFAS { return YES; } -%end - -%hook GULAppEnvironmentUtil -+ (BOOL)isFromAppStore { return YES; } -%end - -%hook SSOConfiguration -- (id)initWithClientID:(id)clientID supportedAccountServices:(id)supportedAccountServices { - self = %orig; - [self setValue:YT_NAME forKey:@"_shortAppName"]; - [self setValue:YT_BUNDLE_ID forKey:@"_applicationIdentifier"]; - return self; -} -%end - -%hook NSBundle -- (NSString *)bundleIdentifier { - NSArray *address = [NSThread callStackReturnAddresses]; - Dl_info info = {0}; - if (dladdr((void *)[address[2] longLongValue], &info) == 0) - return %orig; - NSString *path = [NSString stringWithUTF8String:info.dli_fname]; - if ([path hasPrefix:NSBundle.mainBundle.bundlePath]) - return YT_BUNDLE_ID; - return %orig; -} -- (id)objectForInfoDictionaryKey:(NSString *)key { - if ([key isEqualToString:@"CFBundleIdentifier"]) - return YT_BUNDLE_ID; - if ([key isEqualToString:@"CFBundleDisplayName"] || [key isEqualToString:@"CFBundleName"]) - return YT_NAME; - return %orig; -} -// Fix Google Sign in by @PoomSmart & @level3tjg (qnblackcat/uYouPlus#684) -- (NSDictionary *)infoDictionary { - NSMutableDictionary *info = %orig.mutableCopy; - NSString *altBundleIdentifier = info[@"ALTBundleIdentifier"]; - if (altBundleIdentifier) info[@"CFBundleIdentifier"] = altBundleIdentifier; - return info; -} -%end - -// Fix login for YouTube 18.13.2 and higher - @BandarHL -%hook SSOKeychainHelper -+ (NSString *)accessGroup { - return accessGroupID(); -} -+ (NSString *)sharedAccessGroup { - return accessGroupID(); -} -%end - -// Fix login for YouTube 17.33.2 and higher - @BandarHL -// https://gist.github.com/BandarHL/492d50de46875f9ac7a056aad084ac10 -%hook SSOKeychainCore -+ (NSString *)accessGroup { - return accessGroupID(); -} - -+ (NSString *)sharedAccessGroup { - return accessGroupID(); -} -%end - // Fix App Group Directory by move it to document directory %hook NSFileManager - (NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier { From 3f33749673bc35652be26040e260fd1e88093c7e Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 27 Mar 2024 16:07:28 -0500 Subject: [PATCH 37/58] Fix compiling (uYouPlus.xm) --- Sources/uYouPlus.xm | 77 +++++++++++++++++++++++++++------------------ 1 file changed, 47 insertions(+), 30 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 6f58b42..a3455f2 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -58,6 +58,24 @@ static NSString *accessGroupID() { %end // Workaround: uYou 3.0.3 Adblock fix. +%hook YTAdsInnerTubeContextDecorator +if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { +- (void)decorateContext:(id)context {} +} +%end +%hook YTAccountScopedAdsInnerTubeContextDecorator +if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { +- (void)decorateContext:(id)context {} +} +%end +%hook YTIElementRenderer +- (NSData *)elementData { + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { + if (self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData) return nil; + return %orig; + } +} +%end BOOL isAd(YTIElementRenderer *self) { if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { if (self != nil) { @@ -80,6 +98,35 @@ BOOL isAd(YTIElementRenderer *self) { } return NO; } +%hook YTSectionListViewController +- (void)loadWithModel:(YTISectionListRenderer *)model { + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { + NSMutableArray *contentsArray = model.contentsArray; + NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { + YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; + YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; + return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); + }]; + [contentsArray removeObjectsAtIndexes:removeIndexes]; + } + %orig; +} +%end + +%hook YTWatchNextResultsViewController +- (void)loadWithModel:(YTISectionListRenderer *)watchNextResults { + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { + NSMutableArray *contentsArray = watchNextResults.contentsArray; + NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { + YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; + YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; + return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); + }]; + [contentsArray removeObjectsAtIndexes:removeIndexes]; + } + %orig; +} +%end // Hide YouTube Logo - @dayanch96 %group gHideYouTubeLogo @@ -125,36 +172,6 @@ BOOL isAd(YTIElementRenderer *self) { } %end -%hook YTSectionListViewController -- (void)loadWithModel:(YTISectionListRenderer *)model { - if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - NSMutableArray *contentsArray = model.contentsArray; - NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { - YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; - YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; - return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); - }]; - [contentsArray removeObjectsAtIndexes:removeIndexes]; - } - %orig; -} -%end - -%hook YTWatchNextResultsViewController -- (void)loadWithModel:(YTISectionListRenderer *)watchNextResults { - if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - NSMutableArray *contentsArray = watchNextResults.contentsArray; - NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { - YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; - YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; - return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); - }]; - [contentsArray removeObjectsAtIndexes:removeIndexes]; - } - %orig; -} -%end - // Workaround: fix YouTube Premium Logo not working on v18.35.4 or above. %hook YTVersionUtils // Working Version for Premium Logo + (NSString *)appVersion { return @"18.34.5"; } From 062f9e363244dd25f43c01853685b59bce3baa17 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 27 Mar 2024 17:32:29 -0500 Subject: [PATCH 38/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 74 +++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 40 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index a3455f2..7cda138 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -63,6 +63,7 @@ if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - (void)decorateContext:(id)context {} } %end + %hook YTAccountScopedAdsInnerTubeContextDecorator if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - (void)decorateContext:(id)context {} @@ -70,12 +71,28 @@ if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { %end %hook YTIElementRenderer - (NSData *)elementData { + NSString *description = [self description]; if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { if (self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData) return nil; - return %orig; + return %orig; } + } +// Hide Shorts Cells - @PoomSmart & @iCrazeiOS + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeShortsCell"]) { + if ([description containsString:@"shorts_shelf.eml"] || [description containsString:@"#shorts"] || [description containsString:@"shorts_video_cell.eml"] || [description containsString:@"6Shorts"]) { + if (![description containsString:@"history*"]) { + return nil; + } + } + } + // Hide Community Posts - Deprecated ⚠️ + if (IS_ENABLED(@"hideCommunityPosts_enabled") && [description containsString:@"post_base_wrapper.eml"]) { + return nil; + } + return %orig; } %end +// BOOL isAd(YTIElementRenderer *self) { if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { if (self != nil) { @@ -94,20 +111,21 @@ BOOL isAd(YTIElementRenderer *self) { || [description containsString:@"landscape_image_wide_button_layout"] || [description containsString:@"feed_ad_metadata"]) return YES; - } } + } return NO; } + %hook YTSectionListViewController - (void)loadWithModel:(YTISectionListRenderer *)model { if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - NSMutableArray *contentsArray = model.contentsArray; - NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { - YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; - YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; - return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); - }]; - [contentsArray removeObjectsAtIndexes:removeIndexes]; + NSMutableArray *contentsArray = model.contentsArray; + NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { + YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; + YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; + return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); + }]; + [contentsArray removeObjectsAtIndexes:removeIndexes]; } %orig; } @@ -116,13 +134,13 @@ BOOL isAd(YTIElementRenderer *self) { %hook YTWatchNextResultsViewController - (void)loadWithModel:(YTISectionListRenderer *)watchNextResults { if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - NSMutableArray *contentsArray = watchNextResults.contentsArray; - NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { - YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; - YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; - return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); - }]; - [contentsArray removeObjectsAtIndexes:removeIndexes]; + NSMutableArray *contentsArray = watchNextResults.contentsArray; + NSIndexSet *removeIndexes = [contentsArray indexesOfObjectsPassingTest:^BOOL(YTISectionListSupportedRenderers *renderers, NSUInteger idx, BOOL *stop) { + YTIItemSectionRenderer *sectionRenderer = renderers.itemSectionRenderer; + YTIItemSectionSupportedRenderers *firstObject = [sectionRenderer.contentsArray firstObject]; + return firstObject.hasPromotedVideoRenderer || firstObject.hasCompactPromotedVideoRenderer || firstObject.hasPromotedVideoInlineMutedRenderer || isAd(firstObject.elementRenderer); + }]; + [contentsArray removeObjectsAtIndexes:removeIndexes]; } %orig; } @@ -803,30 +821,6 @@ BOOL isAd(YTIElementRenderer *self) { } %end -// Hide Shorts Cells - @PoomSmart & @iCrazeiOS -%hook YTIElementRenderer -- (NSData *)elementData { - NSString *description = [self description]; - if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeShortsCell"]) { // uYou (Hide Shorts Cells) - if ([description containsString:@"shorts_shelf.eml"] || - [description containsString:@"#shorts"] || - [description containsString:@"shorts_video_cell.eml"] || - [description containsString:@"6Shorts"]) { - if (![description containsString:@"history*"]) { - return nil; - } - } - } -// Hide Community Posts - @michael-winay & @arichornlover - Deprecated ⚠️ - if (IS_ENABLED(@"hideCommunityPosts_enabled")) { - if ([description containsString:@"post_base_wrapper.eml"]) { - return nil; - } - } - return %orig; -} -%end - // Red Subscribe Button - @arichorn %hook ELMContainerNode - (void)setBackgroundColor:(id)color { From 70e9105a7544d349daea963ced56d1cece44c165 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 27 Mar 2024 17:35:30 -0500 Subject: [PATCH 39/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 7cda138..56e06de 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -16,25 +16,6 @@ NSBundle *uYouPlusBundle() { } NSBundle *tweakBundle = uYouPlusBundle(); -// Keychain fix -static NSString *accessGroupID() { - NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys: - (__bridge NSString *)kSecClassGenericPassword, (__bridge NSString *)kSecClass, - @"bundleSeedID", kSecAttrAccount, - @"", kSecAttrService, - (id)kCFBooleanTrue, kSecReturnAttributes, - nil]; - CFDictionaryRef result = nil; - OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, (CFTypeRef *)&result); - if (status == errSecItemNotFound) - status = SecItemAdd((__bridge CFDictionaryRef)query, (CFTypeRef *)&result); - if (status != errSecSuccess) - return nil; - NSString *accessGroup = [(__bridge NSDictionary *)result objectForKey:(__bridge NSString *)kSecAttrAccessGroup]; - - return accessGroup; -} - # pragma mark - Tweaks // Activate FLEX From c9bb8b3ebb2570ab1aa5dfe8d7e358a61818467e Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 27 Mar 2024 18:09:37 -0500 Subject: [PATCH 40/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 48 ++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 56e06de..4f44f32 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -50,30 +50,6 @@ if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - (void)decorateContext:(id)context {} } %end -%hook YTIElementRenderer -- (NSData *)elementData { - NSString *description = [self description]; - if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - if (self.hasCompatibilityOptions && self.compatibilityOptions.hasAdLoggingData) return nil; - return %orig; - } - } -// Hide Shorts Cells - @PoomSmart & @iCrazeiOS - if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeShortsCell"]) { - if ([description containsString:@"shorts_shelf.eml"] || [description containsString:@"#shorts"] || [description containsString:@"shorts_video_cell.eml"] || [description containsString:@"6Shorts"]) { - if (![description containsString:@"history*"]) { - return nil; - } - } - } - // Hide Community Posts - Deprecated ⚠️ - if (IS_ENABLED(@"hideCommunityPosts_enabled") && [description containsString:@"post_base_wrapper.eml"]) { - return nil; - } - return %orig; -} -%end -// BOOL isAd(YTIElementRenderer *self) { if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { if (self != nil) { @@ -802,6 +778,30 @@ BOOL isAd(YTIElementRenderer *self) { } %end +// Hide Shorts Cells - @PoomSmart & @iCrazeiOS +%hook YTIElementRenderer +- (NSData *)elementData { + NSString *description = [self description]; + if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeShortsCell"]) { // uYou (Hide Shorts Cells) + if ([description containsString:@"shorts_shelf.eml"] || + [description containsString:@"#shorts"] || + [description containsString:@"shorts_video_cell.eml"] || + [description containsString:@"6Shorts"]) { + if (![description containsString:@"history*"]) { + return nil; + } + } + } +// Hide Community Posts - @michael-winay & @arichornlover - Deprecated ⚠️ + if (IS_ENABLED(@"hideCommunityPosts_enabled")) { + if ([description containsString:@"post_base_wrapper.eml"]) { + return nil; + } + } + return %orig; +} +%end + // Red Subscribe Button - @arichorn %hook ELMContainerNode - (void)setBackgroundColor:(id)color { From 83f614042610b4fa248bd2159bcc29541890d399 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 27 Mar 2024 19:09:33 -0500 Subject: [PATCH 41/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 4f44f32..e8270f8 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -41,13 +41,15 @@ NSBundle *tweakBundle = uYouPlusBundle(); // Workaround: uYou 3.0.3 Adblock fix. %hook YTAdsInnerTubeContextDecorator if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { -- (void)decorateContext:(id)context {} +- (void)decorateContext:(id)context { + } } %end %hook YTAccountScopedAdsInnerTubeContextDecorator if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { -- (void)decorateContext:(id)context {} +- (void)decorateContext:(id)context { + } } %end BOOL isAd(YTIElementRenderer *self) { From 690d9545f400237b47324f4d197a3c2a64b7c69d Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Wed, 27 Mar 2024 20:30:18 -0500 Subject: [PATCH 42/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index e8270f8..8b0b757 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -40,16 +40,14 @@ NSBundle *tweakBundle = uYouPlusBundle(); // Workaround: uYou 3.0.3 Adblock fix. %hook YTAdsInnerTubeContextDecorator -if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - (void)decorateContext:(id)context { - } +if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) {} } %end %hook YTAccountScopedAdsInnerTubeContextDecorator -if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) { - (void)decorateContext:(id)context { - } +if ([NSUserDefaults.standardUserDefaults boolForKey:@"removeYouTubeAds"]) {} } %end BOOL isAd(YTIElementRenderer *self) { From 175870ef6ad988ae4060e2b04197cdcbe5543aaf Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 29 Mar 2024 01:50:27 +0000 Subject: [PATCH 43/58] updated submodules --- Tweaks/iSponsorBlock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/iSponsorBlock b/Tweaks/iSponsorBlock index c80d1f9..1f09410 160000 --- a/Tweaks/iSponsorBlock +++ b/Tweaks/iSponsorBlock @@ -1 +1 @@ -Subproject commit c80d1f91a11d004ab472421bb065be6a2d16cd9e +Subproject commit 1f094104ed0a288e616241b420481eaea11e81f4 From 3fdebd8bac2aea42d3023295ab80de631d4931fc Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 29 Mar 2024 18:24:28 -0500 Subject: [PATCH 44/58] Updated buttons under video player options MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✨Updated Hide Thanks Button Option ✅Added Hide Report Button Option --- Sources/uYouPlus.xm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 8b0b757..955fecf 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -882,30 +882,34 @@ BOOL isAd(YTIElementRenderer *self) { } %end -// Hide the (Connect / Save) Buttons under the Video Player - 17.x.x and up - @PoomSmart (inspired by @arichornlover) +// Hide the (Connect / Thanks / Save / Report) Buttons under the Video Player - 17.x.x and up - @PoomSmart (inspired by @arichornlover) DEPRECATED METHOD ⚠️ %hook _ASDisplayView - (void)layoutSubviews { %orig; BOOL hideConnectButton = IS_ENABLED(@"hideConnectButton_enabled"); -// BOOL hideShareButton = IS_ENABLED(@"hideShareButton_enabled"); // OLD -// BOOL hideRemixButton = IS_ENABLED(@"hideRemixButton_enabled"); // OLD -// BOOL hideThanksButton = IS_ENABLED(@"hideThanksButton_enabled"); // OLD -// BOOL hideAddToOfflineButton = IS_ENABLED(@"hideAddToOfflineButton_enabled"); // OLD -// BOOL hideClipButton = IS_ENABLED(@"hideClipButton_enabled"); // OLD +// BOOL hideShareButton = IS_ENABLED(@"hideShareButton_enabled"); // OLD +// BOOL hideRemixButton = IS_ENABLED(@"hideRemixButton_enabled"); // OLD + BOOL hideThanksButton = IS_ENABLED(@"hideThanksButton_enabled"); +// BOOL hideAddToOfflineButton = IS_ENABLED(@"hideAddToOfflineButton_enabled"); // OLD +// BOOL hideClipButton = IS_ENABLED(@"hideClipButton_enabled"); // OLD BOOL hideSaveToPlaylistButton = IS_ENABLED(@"hideSaveToPlaylistButton_enabled"); + BOOL hideReportButton = IS_ENABLED(@"hideReportButton_enabled"); for (UIView *subview in self.subviews) { if ([subview.accessibilityLabel isEqualToString:@"connect account"]) { subview.hidden = hideConnectButton; - // subview.frame = hideConnectButton ? CGRectZero : subview.frame; + } else if ([subview.accessibilityLabel isEqualToString:@"Thanks"]) { + subview.hidden = hideRemixButton; } else if ([subview.accessibilityLabel isEqualToString:@"Save to playlist"]) { subview.hidden = hideSaveToPlaylistButton; - // subview.frame = hideSaveToPlaylistButton ? CGRectZero : subview.frame; + } else if ([subview.accessibilityLabel isEqualToString:@"Report"]) { + subview.hidden = hideReportButton; } } } %end +// Hide the (Connect / Share / Remix / Thanks / Download / Clip / Save / Report) Buttons under the Video Player - 17.x.x and up - @PoomSmart (inspired by @arichornlover) - NEW METHOD static BOOL findCell(ASNodeController *nodeController, NSArray *identifiers) { for (id child in [nodeController children]) { if ([child isKindOfClass:%c(ELMNodeController)]) { From 8a01c1a63415d937e65282fbf6373d321a3bad6c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 29 Mar 2024 23:25:33 +0000 Subject: [PATCH 45/58] updated submodules --- Tweaks/YouTubeHeader | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/YouTubeHeader b/Tweaks/YouTubeHeader index 8ceee52..8620b82 160000 --- a/Tweaks/YouTubeHeader +++ b/Tweaks/YouTubeHeader @@ -1 +1 @@ -Subproject commit 8ceee52a494779d1a09ff716d01c3380656beeb4 +Subproject commit 8620b8248ead38f26bd18e210b72d7ca00c63e75 From 0d08fcb8e53c3057858a74f674335e43d15a8e82 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 29 Mar 2024 18:29:54 -0500 Subject: [PATCH 46/58] =?UTF-8?q?Added=20=E2=80=9CHide=20the=20Report=20Bu?= =?UTF-8?q?tton=20under=20player=E2=80=9D=20Option?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/uYouPlusSettings.xm | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/uYouPlusSettings.xm b/Sources/uYouPlusSettings.xm index 5e7406a..e557ab3 100644 --- a/Sources/uYouPlusSettings.xm +++ b/Sources/uYouPlusSettings.xm @@ -255,6 +255,7 @@ extern NSBundle *uYouPlusBundle(); SWITCH_ITEM(LOC(@"Hide the Download Button under player"), LOC(@"Hides the Download Button under the video player."), @"hideDownloadButton_enabled"); SWITCH_ITEM(LOC(@"Hide the Clip Button under player"), LOC(@"Hides the Clip Button under the video player."), @"hideClipButton_enabled"); SWITCH_ITEM(LOC(@"Hide the Save to playlist Button under player"), LOC(@"Hides the Save to playlist Button under the video player."), @"hideSaveToPlaylistButton_enabled"); + SWITCH_ITEM(LOC(@"Hide the Report Button under player"), LOC(@"Hides the Report Button under the video player."), @"hideReportButton_enabled"); SWITCH_ITEM(LOC(@"Hide Comment Section previews"), LOC(@"Makes the comment section blank with no previews under the player."), @"hidePreviewCommentSection_enabled"); SWITCH_ITEM(LOC(@"Hide the comment section under player"), LOC(@"Hides the Comment Section below the player."), @"hideCommentSection_enabled"); From 337d752cf049e03e6084f1439980ca8059265372 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 29 Mar 2024 18:41:47 -0500 Subject: [PATCH 47/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 955fecf..26c1746 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -888,7 +888,7 @@ BOOL isAd(YTIElementRenderer *self) { %orig; BOOL hideConnectButton = IS_ENABLED(@"hideConnectButton_enabled"); // BOOL hideShareButton = IS_ENABLED(@"hideShareButton_enabled"); // OLD -// BOOL hideRemixButton = IS_ENABLED(@"hideRemixButton_enabled"); // OLD + BOOL hideRemixButton = IS_ENABLED(@"hideRemixButton_enabled"); // OLD BOOL hideThanksButton = IS_ENABLED(@"hideThanksButton_enabled"); // BOOL hideAddToOfflineButton = IS_ENABLED(@"hideAddToOfflineButton_enabled"); // OLD // BOOL hideClipButton = IS_ENABLED(@"hideClipButton_enabled"); // OLD From 991060192e62aec4285972ccc36e967f4563a51c Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 29 Mar 2024 18:43:06 -0500 Subject: [PATCH 48/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index 26c1746..cd31e20 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -888,7 +888,7 @@ BOOL isAd(YTIElementRenderer *self) { %orig; BOOL hideConnectButton = IS_ENABLED(@"hideConnectButton_enabled"); // BOOL hideShareButton = IS_ENABLED(@"hideShareButton_enabled"); // OLD - BOOL hideRemixButton = IS_ENABLED(@"hideRemixButton_enabled"); // OLD +// BOOL hideRemixButton = IS_ENABLED(@"hideRemixButton_enabled"); // OLD BOOL hideThanksButton = IS_ENABLED(@"hideThanksButton_enabled"); // BOOL hideAddToOfflineButton = IS_ENABLED(@"hideAddToOfflineButton_enabled"); // OLD // BOOL hideClipButton = IS_ENABLED(@"hideClipButton_enabled"); // OLD @@ -899,7 +899,7 @@ BOOL isAd(YTIElementRenderer *self) { if ([subview.accessibilityLabel isEqualToString:@"connect account"]) { subview.hidden = hideConnectButton; } else if ([subview.accessibilityLabel isEqualToString:@"Thanks"]) { - subview.hidden = hideRemixButton; + subview.hidden = hideThanksButton; } else if ([subview.accessibilityLabel isEqualToString:@"Save to playlist"]) { subview.hidden = hideSaveToPlaylistButton; } else if ([subview.accessibilityLabel isEqualToString:@"Report"]) { From 1d193180a8296bd2d9c1edffc9c10dea2031a24b Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 29 Mar 2024 22:52:39 -0500 Subject: [PATCH 49/58] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 021847d..db5a54b 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ MODULES = jailed endif ifndef YOUTUBE_VERSION -YOUTUBE_VERSION = 19.10.5 +YOUTUBE_VERSION = 19.12.3 endif ifndef UYOU_VERSION UYOU_VERSION = 3.0.3 From 99c5aa4e523b0d45be104eafbd91a0a987bb7284 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Fri, 29 Mar 2024 23:39:14 -0500 Subject: [PATCH 50/58] added schedule (delete-workflow-runs.yml) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Y’all are gonna hate me for this change but this is necessary to keep the repository safe and safe from any more DMCAs hopefully. --- .github/workflows/delete-workflow-runs.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/delete-workflow-runs.yml b/.github/workflows/delete-workflow-runs.yml index 063fd64..252cda2 100644 --- a/.github/workflows/delete-workflow-runs.yml +++ b/.github/workflows/delete-workflow-runs.yml @@ -5,11 +5,11 @@ on: days: description: 'Days-worth of runs to keep for each workflow' required: true - default: '30' + default: '7' # default value is "30" minimum_runs: description: 'Minimum runs to keep for each workflow' required: true - default: '6' + default: '5' # default value is "6" delete_workflow_pattern: description: 'Name or filename of the workflow (if not set, all workflows are targeted)' required: false @@ -41,6 +41,9 @@ on: description: 'Logs simulated changes, no deletions are performed' required: false + schedule: + - cron: '0 0 * * *' + jobs: del_runs: runs-on: ubuntu-latest From bc45a77b43478fcfad91bd889ec2d57ba985ef4e Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sat, 30 Mar 2024 00:27:18 -0500 Subject: [PATCH 51/58] Update control --- control | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/control b/control index 0eac851..ed8253f 100644 --- a/control +++ b/control @@ -5,8 +5,6 @@ Description: An expanded version of uYouPlus Maintainer: arichorn Author: qnblackcat Section: Tweaks -Depends: mobilesubstrate (>= 0.9.5000), firmware (>= 14.0) -Replaces: com.miro.uyou, org.thebigboss.libcolorpicker, me.nepeta.libcolorpicker, ws.hbang.alderis, libflex -Provides: com.miro.uyou (= 99.0), org.thebigboss.libcolorpicker (= 99.0), me.nepeta.libcolorpicker (= 99.0), ws.hbang.alderis (= 99.0), libflex (= 99.0) -Conflicts: com.miro.uyou, com.ps.youmute, com.ps.youpip, com.ps.youquality, com.ps.ytabconfig, com.ps.ytvideooverlay, libflex, weeb.lillie.youtubedislikesreturn, com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus -Recommends: com.miro.uyouimport +Depends: mobilesubstrate (>= 0.9.5000), com.miro.uyou +Conflicts: com.level3tjg.ytminiplayerenabler, com.level3tjg.ytnohovercards, com.ps.noytpremium, com.ps.ytnopaidpromo, com.ps.ytreexplore, com.galacticdev.bigytminiplayer, com.lilacvibes.ytstockvolumehud, net.sarahh12099.youtubereborn, com.twickd.sarahh12099.youtube-reborn, h.ryan.youtubereborn, weeb.lillie.enhancerforyoutubepremium, com.ps.uyoucompat, com.ichitaso.uyouplus +Recommends: com.ps.youmute, com.ps.youpip, com.ps.youquality, com.ps.ytabconfig, com.ps.ytvideooverlay, libflex, weeb.lillie.youtubedislikesreturn From f910a6cccee1bbab772bf59ff2a8ce530739beae Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 30 Mar 2024 17:12:08 +0000 Subject: [PATCH 52/58] updated submodules --- Tweaks/iSponsorBlock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/iSponsorBlock b/Tweaks/iSponsorBlock index 1f09410..9b6d8db 160000 --- a/Tweaks/iSponsorBlock +++ b/Tweaks/iSponsorBlock @@ -1 +1 @@ -Subproject commit 1f094104ed0a288e616241b420481eaea11e81f4 +Subproject commit 9b6d8db494969546691e143aa1a1c4cbfbdcea03 From 0adb3c865ca5e43e3dfaf9453eee5f397ea69917 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:00:15 -0500 Subject: [PATCH 53/58] Fix snackbar text being invisible (LowContrastMode) --- Sources/LowContrastMode.xm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Sources/LowContrastMode.xm b/Sources/LowContrastMode.xm index 1eb8a07..72e7a4e 100644 --- a/Sources/LowContrastMode.xm +++ b/Sources/LowContrastMode.xm @@ -13,7 +13,7 @@ static BOOL customContrastMode() { UIColor *lcmHexColor; -%group gLowContrastMode // Low Contrast Mode v1.5.1 (Compatible with only YouTube v17.33.2-v17.38.10) +%group gLowContrastMode // Low Contrast Mode v1.5.2 (Compatible with only YouTube v17.33.2-v17.38.10) %hook UIColor + (UIColor *)whiteColor { // Dark Theme Color return [UIColor colorWithRed: 0.56 green: 0.56 blue: 0.56 alpha: 1.00]; @@ -295,6 +295,11 @@ UIColor *lcmHexColor; %orig([UIColor whiteColor]); } %end +%hook UIControl // snackbar fix for lcm +- (UIColor *)backgroundColor { + return [UIColor blackColor]; +} +%end %end %group gCustomContrastMode // Custom Contrast Mode (Hex Color) @@ -571,6 +576,11 @@ UIColor *lcmHexColor; %orig([UIColor whiteColor]); } %end +%hook UIControl // snackbar fix for lcm +- (UIColor *)backgroundColor { + return [UIColor blackColor]; +} +%end %end # pragma mark - ctor From eebbb116acecbdbecf1068241d9cc3bb8b54b7b1 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:10:56 -0500 Subject: [PATCH 54/58] Fixed delete-workflow-runs.yml It will only delete `Build and Release uYouEnhanced` from now on. --- .github/workflows/delete-workflow-runs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/delete-workflow-runs.yml b/.github/workflows/delete-workflow-runs.yml index 252cda2..88316ed 100644 --- a/.github/workflows/delete-workflow-runs.yml +++ b/.github/workflows/delete-workflow-runs.yml @@ -13,6 +13,7 @@ on: delete_workflow_pattern: description: 'Name or filename of the workflow (if not set, all workflows are targeted)' required: false + default: 'Build and Release uYouEnhanced' # default value is "" delete_workflow_by_state_pattern: description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually' required: true From f5359db1cd97bdc51b4aed26dc4549d5017428b7 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 1 Apr 2024 02:07:47 +0000 Subject: [PATCH 55/58] updated submodules --- Tweaks/YTVideoOverlay | 2 +- Tweaks/YouPiP | 2 +- Tweaks/YouQuality | 2 +- Tweaks/YouTubeHeader | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Tweaks/YTVideoOverlay b/Tweaks/YTVideoOverlay index 0f9f33f..40b974f 160000 --- a/Tweaks/YTVideoOverlay +++ b/Tweaks/YTVideoOverlay @@ -1 +1 @@ -Subproject commit 0f9f33f52d1a51efb7e13c66231b6ec0652999a8 +Subproject commit 40b974fb33677f1c066536277d7bee68f6fa5e23 diff --git a/Tweaks/YouPiP b/Tweaks/YouPiP index f932a53..8eafa0a 160000 --- a/Tweaks/YouPiP +++ b/Tweaks/YouPiP @@ -1 +1 @@ -Subproject commit f932a53bec244cc23df4c1e42441572d38cc6e90 +Subproject commit 8eafa0a163ffa8e7d25c54ed3c18e6c76266ea31 diff --git a/Tweaks/YouQuality b/Tweaks/YouQuality index b1c2178..b5cfbac 160000 --- a/Tweaks/YouQuality +++ b/Tweaks/YouQuality @@ -1 +1 @@ -Subproject commit b1c2178660a83fa68253fba0a961d1c9662691b1 +Subproject commit b5cfbac1c5ac1440a0d4c8ac1cea3fcd4083bee6 diff --git a/Tweaks/YouTubeHeader b/Tweaks/YouTubeHeader index 8620b82..c6abbf8 160000 --- a/Tweaks/YouTubeHeader +++ b/Tweaks/YouTubeHeader @@ -1 +1 @@ -Subproject commit 8620b8248ead38f26bd18e210b72d7ca00c63e75 +Subproject commit c6abbf8f66d30ff38ba3eb026e63132005c62857 From 46cfe08b3453c761256d44d3e4981d1c0d4d14cf Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 1 Apr 2024 09:17:26 +0000 Subject: [PATCH 56/58] updated submodules --- Tweaks/YouTubeHeader | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tweaks/YouTubeHeader b/Tweaks/YouTubeHeader index c6abbf8..c6e6747 160000 --- a/Tweaks/YouTubeHeader +++ b/Tweaks/YouTubeHeader @@ -1 +1 @@ -Subproject commit c6abbf8f66d30ff38ba3eb026e63132005c62857 +Subproject commit c6e674753e8f4ba41a4be292eec3b365d26418ba From 0c09519e79a796e0671802475abae8dda768b317 Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:45:21 -0500 Subject: [PATCH 57/58] =?UTF-8?q?Deactivated=20=E2=80=9CDisable=20Snap=20t?= =?UTF-8?q?o=20Chapter=E2=80=9D=20Option?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/uYouPlusSettings.xm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/uYouPlusSettings.xm b/Sources/uYouPlusSettings.xm index e557ab3..c931a95 100644 --- a/Sources/uYouPlusSettings.xm +++ b/Sources/uYouPlusSettings.xm @@ -204,7 +204,7 @@ extern NSBundle *uYouPlusBundle(); SWITCH_ITEM2(LOC(@"SLIDE_TO_SEEK"), LOC(@"SLIDE_TO_SEEK_DESC"), @"slideToSeek_enabled"); SWITCH_ITEM2(LOC(@"Enable Tap To Seek"), LOC(@"Jump to anywhere in a video by single-tapping the seek bar"), @"YTTapToSeek_enabled"); SWITCH_ITEM(LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK"), LOC(@"DISABLE_DOUBLE_TAP_TO_SEEK_DESC"), @"doubleTapToSeek_disabled"); - SWITCH_ITEM2(LOC(@"SNAP_TO_CHAPTER"), LOC(@"SNAP_TO_CHAPTER_DESC"), @"snapToChapter_enabled"); +// SWITCH_ITEM2(LOC(@"SNAP_TO_CHAPTER"), LOC(@"SNAP_TO_CHAPTER_DESC"), @"snapToChapter_enabled"); SWITCH_ITEM2(LOC(@"PINCH_TO_ZOOM"), LOC(@"PINCH_TO_ZOOM_DESC"), @"pinchToZoom_enabled"); SWITCH_ITEM(LOC(@"YT_MINIPLAYER"), LOC(@"YT_MINIPLAYER_DESC"), @"ytMiniPlayer_enabled"); SWITCH_ITEM2(LOC(@"STOCK_VOLUME_HUD"), LOC(@"STOCK_VOLUME_HUD_DESC"), @"stockVolumeHUD_enabled"); From ddec93fa5d570c3ff427eec074cd95ab07a9aa6e Mon Sep 17 00:00:00 2001 From: arichornlover <78001398+arichornlover@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:47:07 -0500 Subject: [PATCH 58/58] Update uYouPlus.xm --- Sources/uYouPlus.xm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index cd31e20..09f5b33 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -501,6 +501,7 @@ BOOL isAd(YTIElementRenderer *self) { %end %end +/* This is disabled due to "self.enableSnapToChapter" not existing. // Disable snap to chapter %hook YTSegmentableInlinePlayerBarView - (void)didMoveToWindow { @@ -510,6 +511,7 @@ BOOL isAd(YTIElementRenderer *self) { } } %end +*/ // Disable Pinch to zoom %hook YTColdConfig