Compare commits

...
36 Commits
Author SHA1 Message Date
Nguyễn Đạt b4f84deaac Don't use new YT settings layout (#1468) 2024-05-21 23:57:34 +07:00
Nguyễn Đạt e04f247789 temporary solution because MiRO92 repo is currently down 2024-05-21 23:52:25 +07:00
Nguyễn Đạt 51766ee9a3 Merge pull request #1463 from migmit/migmit-patch-1
Update buildapp.yml
2024-05-21 23:39:55 +07:00
migmit f885e7f25b Update buildapp.yml 2024-05-16 22:52:04 +02:00
Thatchapon Unprasert add0bee6e4 Update RYD and YouTubeHeader 2024-05-08 20:55:42 +07:00
Thatchapon Unprasert b0ab41ed0c Update YouPiP 2024-05-05 19:30:26 +07:00
Foxster 9c8716693c Update submodules 2024-04-30 17:51:43 -07:00
qnblackcat d4b2243788 update sign in fix https://github.com/qnblackcat/uYouPlus/pull/1353/commits/2494cdf3c101e2d29c1f802254c269431224b97a 2024-04-30 00:05:28 +07:00
qnblackcat cc1135e76f bump version 2024-04-29 23:58:36 +07:00
Jelly 4c819c69da Pin runner image to macos-12 (#1430) 2024-04-25 08:20:08 +07:00
Thatchapon Unprasert 9aab7255b6 Update YouPiP and YouTubeHeader 2024-04-24 20:12:03 +07:00
Dan 076967ab94 Fixes uYou crash when trying to play video (#1422) (#1428) 2024-04-24 06:56:40 +07:00
Foxster 4fcb13d3aa Update submodules 2024-04-21 18:26:50 -07:00
Foxster 7e99ba39e9 Fix bug report URL 2024-04-21 18:26:50 -07:00
Thatchapon Unprasert a7bc1264a9 Update iSponsorBlock 2024-04-16 10:48:42 +07:00
Thatchapon Unprasert e73c884bfb Update submodules 2024-04-15 17:59:31 +07:00
Huy 8f5d7d9991 Update README.md (#1410)
Update FAQs URLs
2024-04-13 12:41:48 -07:00
Huy f4012ca76a Store URLs in uYouPlusSettings.h (#1409) 2024-04-13 11:36:32 -07:00
Thatchapon Unprasert 329cfcb441 Update FLEXing 2024-04-11 12:10:40 +07:00
anthony-huynh 3e7d8b2479 Update README.md (#1404) 2024-04-10 08:15:02 +07:00
Thatchapon Unprasert e4de01a940 Update YouPiP 2024-04-09 00:17:08 +07:00
Thatchapon Unprasert ed13a2fdc8 Update submodules 2024-04-08 09:55:39 +07:00
Victor Alves c7aa258a33 Update Portuguese localization (#1387)
* Update Portuguese localization

* Update Portuguese localization
2024-04-06 18:31:41 +07:00
Thatchapon Unprasert ed0b853d31 Update iSponsorBlock 2024-04-06 12:50:45 +07:00
Thatchapon Unprasert c827624404 New code for red progress bar 2024-04-06 12:08:47 +07:00
Thatchapon Unprasert 0ff17cad55 Update iSponsorBlock 2024-04-06 12:08:32 +07:00
Thatchapon Unprasert e3d6405ff5 Updated submodules 2024-04-06 12:06:19 +07:00
Thatchapon Unprasert 9c5eb0c488 Update submodules 2024-03-31 19:26:49 +07:00
Thatchapon Unprasert ef69c0127f Update submodules 2024-03-29 21:51:01 +07:00
Thatchapon Unprasert 236989b5da Update submodules 2024-03-29 21:44:44 +07:00
DeciBelioS 7352749623 Update Localizable.strings Spanish (#1359) 2024-03-29 10:04:00 +07:00
SKEIDs dfeaaa0d11 Update Japanese localization (#1368) 2024-03-29 10:03:50 +07:00
Truong PD 3486a66b15 update submodules (#1365) 2024-03-20 17:35:00 +07:00
Foxster 722c1a9bad Update submodules (#1351) 2024-03-09 23:39:24 -08:00
qnblackcat bdc9708c5e update README.md 2024-02-27 19:47:38 +07:00
qnblackcat 94a00f5356 bump version 2024-02-27 19:44:19 +07:00
26 changed files with 118 additions and 69 deletions
+2 -1
View File
@@ -44,7 +44,7 @@ concurrency:
jobs:
build:
name: Build uYouPlus
runs-on: macos-latest
runs-on: macos-12
permissions:
contents: write
@@ -121,6 +121,7 @@ jobs:
- name: Fix compiling & Build Package
id: build_package
run: |
mkdir -p theos/lib/iphone/rootless
cd ${{ github.workspace }}/main
sed -i '' "27s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
sed -i '' "26s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
@@ -48,13 +48,13 @@
"YT_MINIPLAYER" = "Activar el minirreproductor para todos los vídeos de YouTube";
"YT_MINIPLAYER_DESC" = "Vídeos infantiles por ejemplo.";
"HIDE_REMIX_BUTTON" = "Hides Remix button";
"HIDE_REMIX_BUTTON" = "Oculta el botón Remix";
"HIDE_REMIX_BUTTON_DESC" = "";
"HIDE_CLIP_BUTTON" = "Hide Clip button";
"HIDE_CLIP_BUTTON" = "Ocultar botón Clip";
"HIDE_CLIP_BUTTON_DESC" = "";
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
"HIDE_DOWNLOAD_BUTTON" = "Ocultar botón de descarga";
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
"STOCK_VOLUME_HUD" = "Utiliza el HUD de volumen de iOS";
@@ -108,8 +108,8 @@
// Miscellaneous
"MISCELLANEOUS" = "🔎 Varios";
"HIDE_UYOU" = "Hide uYou tab";
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
"HIDE_UYOU" = "Ocultar pestaña uYou";
"HIDE_ISPONSORBLOCK" = "Ocultar botón iSponsorBlock";
"CAST_CONFIRM" = "Alerta de confirmación antes de Enviar contenido (YTCastConfirm)";
"CAST_CONFIRM_DESC" = "Mostrar una alerta de confirmación antes de Enviar contenido para prevenir el secuestro accidental del TV.";
@@ -21,7 +21,7 @@
"DEFAULT_THEME_DESC" = "";
"OLD_DARK_THEME" = "明るいグレー";
"OLD_DARK_THEME_DESC" = "YouTubeの古いダークテーマ";
"OLD_DARK_THEME_DESC" = "以前のダークテーマ";
"OLED_DARK_THEME" = "OLED (実験的)";
"OLED_DARK_THEME_2" = "OLED";
@@ -31,33 +31,33 @@
"OLED_KEYBOARD_DESC" = "";
// Video controls overlay options
"VIDEO_CONTROLS_OVERLAY_OPTIONS" = "⏯️ 動画コントロールのオーバーレイ設定";
"VIDEO_PLAYER_OPTIONS" = "⏯️ 動画コントロールのオーバーレイ設定";
"SLIDE_TO_SEEK" = "スライドシークを有効化";
"SLIDE_TO_SEEK_DESC" = "スライドシークジェスチャーを復活させます。";
"SLIDE_TO_SEEK_DESC" = "スライドシークジェスチャーを有効にします。";
"DISABLE_DOUBLE_TAP_TO_SEEK" = "ダブルタップによるシークを無効化";
"DISABLE_DOUBLE_TAP_TO_SEEK" = "ダブルタップシークを無効化";
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
"SNAP_TO_CHAPTER" = "チャプターに合わせてのスクラブを無効にする";
"SNAP_TO_CHAPTER_DESC" = "動画を飛ばす際にチャプターに沿ってスクラブされるのを無効します。";
"SNAP_TO_CHAPTER" = "チャプターに合わせてのスクラブを無効";
"SNAP_TO_CHAPTER_DESC" = "動画を飛ばす際にチャプターに沿ってスクラブされるのを無効します。";
"PINCH_TO_ZOOM" = "ピンチで拡大を無効にする";
"PINCH_TO_ZOOM" = "ピンチで拡大を無効";
"PINCH_TO_ZOOM_DESC" = "";
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効にする";
"YT_MINIPLAYER" = "すべての動画でミニプレーヤーを有効";
"YT_MINIPLAYER_DESC" = "ミニプレーヤーが使えない動画(子ども向けの動画など)がありますが、このオプションでバイパスできます。";
"HIDE_REMIX_BUTTON" = "Hides Remix button";
"HIDE_REMIX_BUTTON" = "リミックスボタンを非表示";
"HIDE_REMIX_BUTTON_DESC" = "";
"HIDE_CLIP_BUTTON" = "Hide Clip button";
"HIDE_CLIP_BUTTON" = "クリップボタンを非表示";
"HIDE_CLIP_BUTTON_DESC" = "";
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
"HIDE_DOWNLOAD_BUTTON" = "オフラインボタンを非表示";
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
"STOCK_VOLUME_HUD" = "iOSのstockボリュームHUDを利用する";
"STOCK_VOLUME_HUD" = "標準の音量HUDを利用する";
"STOCK_VOLUME_HUD_DESC" = "";
// Video controls overlay options
@@ -90,8 +90,8 @@
"HIDE_HOVER_CARD" = "YTNoHoverCards";
"HIDE_HOVER_CARD_DESC" = "動画のエンドスクリーンを非表示にします。";
"HIDE_RIGHT_PANEL" = "フルスクリーン時のエンゲージパネルを非表示";
"HIDE_RIGHT_PANEL_DESC" = "ランドスケープ時の右パネル(コメントなど)を非表示にします。";
"HIDE_RIGHT_PANEL" = "フルスクリーン時の右側パネルを非表示";
"HIDE_RIGHT_PANEL_DESC" = "横向きの時、右パネル(チャットなど)を非表示にします。";
// Shorts controls overlay options
"SHORTS_CONTROLS_OVERLAY_OPTIONS" = "💥 ショート動画のオーバーレイ設定";
@@ -102,21 +102,21 @@
"HIDE_SUBCRIPTIONS" = "チャンネル登録ボタンを非表示";
"HIDE_SUBCRIPTIONS_DESC" = "";
"DISABLE_RESUME_TO_SHORTS" = "ショートの再開を無効化";
"DISABLE_RESUME_TO_SHORTS" = "ショート動画からの再開を無効化";
"DISABLE_RESUME_TO_SHORTS_DESC" = "ショート動画を視聴中にアプリを終了し、再度開いた際にショートから再開されるのを防ぎます。";
// Miscellaneous
"MISCELLANEOUS" = "🔎 その他";
"HIDE_UYOU" = "Hide uYou tab";
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
"HIDE_UYOU" = "uYouタブを非表示";
"HIDE_ISPONSORBLOCK" = "iSponsorBlockボタンを非表示";
"CAST_CONFIRM" = "YTCastConfirm";
"CAST_CONFIRM_DESC" = "キャスト前に確認の警告を表示します。";
"CASTING" = "キャスト";
"MSG_ARE_YOU_SURE" = "本当にキャストを開始しますか?";
"MSG_YES" = "はい";
"MSG_CANCEL" = "キャンセル";
"MSG_CANCEL" = "いいえ";
"DISABLE_HINTS" = "ヒントを非表示";
"DISABLE_HINTS_DESC" = "アプリ初回起動時に表示されるYouTubeのヒントを非表示にします。";
@@ -125,7 +125,7 @@
"ENABLE_YT_STARTUP_ANIMATION_DESC" = "";
"HIDE_CHIP_BAR" = "トップバーを非表示";
"HIDE_CHIP_BAR_DESC" = "ホーム(トレンド,音楽,ゲーム...)とサブスクリプション(すべてのビデオ、視聴を続ける...)リボンのトップバーを非表示にします。";
"HIDE_CHIP_BAR_DESC" = "ホームと登録チャンネルのトップバー(すべて,音楽,ゲーム,続きを見る など)を非表示にします。";
"HIDE_PLAY_NEXT_IN_QUEUE" = "「キューの最初に追加」を非表示";
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
@@ -1,21 +1,21 @@
// About
"ABOUT" = "About";
"ABOUT" = "Sobre";
"VERSION" = "Versão do uYouPlus: %@";
"VERSION" = "Versão";
"VERSION_CHECK" = "Toque para verificar se há atualização!";
"REPORT_AN_ISSUE" = "Report an issue";
"ADD_TITLE" = "Add your title here...";
"REPORT_AN_ISSUE" = "Informar um problema";
"ADD_TITLE" = "Adicione seu título aqui...";
"QUIT_YOUTUBE" = "Quit YouTube";
"QUIT_YOUTUBE" = "Sair do YouTube";
"RESTART_YOUTUBE" = "Restart YouTube to apply changes";
"RESTART_YOUTUBE" = "Reinicie o YouTube para aplicar as alterações";
// App appearance
"APP_THEME" = "🎨 App appearance";
"APP_THEME" = "🎨 Aparência do aplicativo";
"THEME_OPTIONS" = "Opções de Temas";
"DARK_THEME" = "Dark theme";
"DARK_THEME" = "Tema Escuro";
"DEFAULT_THEME" = "Padrão";
"DEFAULT_THEME_DESC" = "Tema escuro padrão do YouTube. A reinicialização do app é necessária.";
@@ -33,8 +33,8 @@
// Video player options
"VIDEO_PLAYER_OPTIONS" = "⏯️ Opções do Reprodutor de Vídeo";
"SLIDE_TO_SEEK" = "Enable Slide to seek";
"SLIDE_TO_SEEK_DESC" = "Bring back the Slide to seek gesture.";
"SLIDE_TO_SEEK" = "Ativar Deslizar para buscar";
"SLIDE_TO_SEEK_DESC" = "Traz de volta o gesto Deslizar para buscar.";
"DISABLE_DOUBLE_TAP_TO_SEEK" = "Desativar toque duplo para buscar";
"DISABLE_DOUBLE_TAP_TO_SEEK_DESC" = "";
@@ -48,13 +48,13 @@
"YT_MINIPLAYER" = "Ative o Miniplayer para todos os vídeos do YouTube";
"YT_MINIPLAYER_DESC" = "Vídeos infantis, por exemplo.";
"HIDE_REMIX_BUTTON" = "Hides Remix button";
"HIDE_REMIX_BUTTON" = "Ocultar o botão Remix";
"HIDE_REMIX_BUTTON_DESC" = "";
"HIDE_CLIP_BUTTON" = "Hide Clip button";
"HIDE_CLIP_BUTTON" = "Ocultar o botão Clipe";
"HIDE_CLIP_BUTTON_DESC" = "";
"HIDE_DOWNLOAD_BUTTON" = "Hide Download button";
"HIDE_DOWNLOAD_BUTTON" = "Ocultar o botão de Download";
"HIDE_DOWNLOAD_BUTTON_DESC" = "";
"STOCK_VOLUME_HUD" = "Usar o HUD de volume padrão do iOS";
@@ -109,7 +109,7 @@
"MISCELLANEOUS" = "🔎 Diversos";
"HIDE_UYOU" = "Hide uYou tab";
"HIDE_ISPONSORBLOCK" = "Hide iSponsorBlock button";
"HIDE_ISPONSORBLOCK" = "Ocultar o botão iSponsorBlock";
"CAST_CONFIRM" = "Alerta de confirmação antes de transmitir (YTCastConfirm)";
"CAST_CONFIRM_DESC" = "Mostra um alerta de confirmação antes da transmissão para evitar o sequestro acidental da TV.";
@@ -127,7 +127,7 @@
"HIDE_CHIP_BAR" = "Ocultar a Barra superior";
"HIDE_CHIP_BAR_DESC" = "Oculta a Barra superior nos Feeds iniciais (Tendências, Música, Jogos...) e Feeds de inscrições (Todos os vídeos, Continuar assistindo...). A reinicialização do app é necessária.";
"HIDE_PLAY_NEXT_IN_QUEUE" = "Hide \"Play next in queue\"";
"HIDE_PLAY_NEXT_IN_QUEUE" = "Ocultar \"Adicionar como próximo na fila\"";
"HIDE_PLAY_NEXT_IN_QUEUE_DESC" = "";
"IPHONE_LAYOUT" = "Layout do iPhone";
+2 -2
View File
@@ -14,7 +14,7 @@ MODULES = jailed
endif
ifndef YOUTUBE_VERSION
YOUTUBE_VERSION = 19.07.04
YOUTUBE_VERSION = 19.16.3
endif
ifndef UYOU_VERSION
UYOU_VERSION = 3.0.3
@@ -28,7 +28,7 @@ BUNDLE_ID = com.google.ios.youtube
$(TWEAK_NAME)_FILES := $(wildcard Sources/*.xm) $(wildcard Sources/*.x)
$(TWEAK_NAME)_FRAMEWORKS = UIKit Security
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\"
$(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\" -Wno-module-import-in-extern-c
$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib $(THEOS_OBJ_DIR)/YTVideoOverlay.dylib $(THEOS_OBJ_DIR)/YouMute.dylib $(THEOS_OBJ_DIR)/YouQuality.dylib $(THEOS_OBJ_DIR)/IAmYouTube.dylib $(THEOS_OBJ_DIR)/YTClassicVideoQuality.dylib $(THEOS_OBJ_DIR)/NoYTPremium.dylib $(THEOS_OBJ_DIR)/YoutubeSpeed.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
+7 -7
View File
@@ -7,8 +7,8 @@
<p align="center">
<img src="https://img.shields.io/badge/Platform-iOS%20%7C%20iPadOS%2014.0%2B-yellow" alt="Badge"/>
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://img.shields.io/badge/Question%3F-FAQ-yellow" alt="Badge"></img></a>
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQ"><img src="https://custom-icon-badges.demolab.com/badge/translate-blue.svg?logo=translate&logoColor=white" alt="Badge"></img></a>
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQs"><img src="https://img.shields.io/badge/Question%3F-FAQ-yellow" alt="Badge"></img></a>
<a href="https://github.com/qnblackcat/uYouPlus/wiki/FAQs"><img src="https://custom-icon-badges.demolab.com/badge/translate-blue.svg?logo=translate&logoColor=white" alt="Badge"></img></a>
</p>
<p align="center">
@@ -46,17 +46,17 @@
- My official AltStore repo: https://qnblackcat.github.io/AltStore/
- [Open in AltStore (v19.07.4-3.0.3)](http://tinyurl.com/2k4k4pyk) - It will take a while to install because AltStore needs to download the IPA first.
- [Open in AltStore (v19.08.2-3.0.3)](http://tinyurl.com/4vzwk5hx) - It will take a while to install because AltStore needs to download the IPA first.
<details>
<summary>Version information (last updated: Feb 25, 2024)</summary>
<summary>Version information (last updated: Feb 27, 2024)</summary>
| **Tweaks/App** | **Developer** | **Version** | **Open source** |
| - | - | :-: | :-: |
| **YouTube** | Google Inc | 19.07.4 | ✖︎ |
| **YouTube** | Google Inc | 19.08.2 | ✖︎ |
| [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.1 | [✔︎](https://github.com/Galactic-Dev/iSponsorBlock) |
| **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) |
@@ -86,7 +86,7 @@ See [Installation - Wiki](https://github.com/qnblackcat/uYouPlus/wiki/Installati
1. **[uYou](https://miro92.com/repo/depictions/?p=com.miro.uyou):** Enhance your YouTube experience.
2. **[iSponsorBlock](https://github.com/Galactic-Dev/iSponsorBlock):** A jailbreak tweak that implements the SponsorBlock API to skip sponsorships in YouTube vidoes.
2. **[iSponsorBlock](https://github.com/Galactic-Dev/iSponsorBlock):** A jailbreak tweak that implements the SponsorBlock API to skip sponsorships in YouTube videos.
3. **[YouPiP](https://poomsmart.github.io/repo/depictions/youpip):** Enable **native PiP** in iOS YouTube app.
+2
View File
@@ -9,6 +9,8 @@
#import "uYouPlusThemes.h" // Hide "Buy Super Thanks" banner (_ASDisplayView)
#import <YouTubeHeader/YTAppDelegate.h> // Activate FLEX
#import <YouTubeHeader/YTIMenuConditionalServiceItemRenderer.h>
#import <YouTubeHeader/YTIPlayerBarDecorationModel.h>
#import <YouTubeHeader/YTPlayerBarRectangleDecorationView.h>
// Hide buttons under the video player by @PoomSmart
#import <YouTubeHeader/ASCollectionElement.h>
+44 -1
View File
@@ -143,13 +143,27 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
}
%end
// Bring back the red progress bar - Broken?!
// Bring back the red progress bar - old versions
%hook YTInlinePlayerBarContainerView
- (id)quietProgressBarColor {
return IS_ENABLED(@"redProgressBar_enabled") ? [UIColor redColor] : %orig;
}
%end
// Bring back the red progress bar - new versions
%hook YTPlayerBarRectangleDecorationView
- (void)drawRectangleDecorationWithSideMasks:(CGRect)rect {
if (IS_ENABLED(@"redProgressBar_enabled")) {
YTIPlayerBarDecorationModel *model = [self valueForKey:@"_model"];
int overlayMode = model.playingState.overlayMode;
model.playingState.overlayMode = 1;
%orig;
model.playingState.overlayMode = overlayMode;
} else
%orig;
}
%end
// Hide videos' end screens
// See YTNoHoverCards.x
@@ -311,6 +325,33 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
}
%end
// Fixes uYou crash when trying to play video (#1422)
@interface YTVarispeedSwitchController : NSObject
@end
@interface YTPlayerOverlayManager : NSObject
@property (nonatomic, assign) float currentPlaybackRate;
@property (nonatomic, strong, readonly) YTVarispeedSwitchController *varispeedController;
- (void)varispeedSwitchController:(YTVarispeedSwitchController *)varispeed didSelectRate:(float)rate;
- (void)setCurrentPlaybackRate:(float)rate;
- (void)setPlaybackRate:(float)rate;
@end
%hook YTPlayerOverlayManager
%property (nonatomic, assign) float currentPlaybackRate;
%new
- (void)setCurrentPlaybackRate:(float)rate {
[self varispeedSwitchController:self.varispeedController didSelectRate:rate];
}
%new
- (void)setPlaybackRate:(float)rate {
[self varispeedSwitchController:self.varispeedController didSelectRate:rate];
}
%end
// Hide search ads by @PoomSmart - https://github.com/PoomSmart/YouTube-X
// %hook YTIElementRenderer
// - (NSData *)elementData {
@@ -339,6 +380,8 @@ static BOOL findCell(ASNodeController *nodeController, NSArray <NSString *> *ide
- (BOOL)respectDeviceCaptionSetting { return NO; }
// Swipe right to dismiss the right panel in fullscreen mode
- (BOOL)isLandscapeEngagementPanelSwipeRightToDismissEnabled { return YES; }
// Don't use new YT settings layout (Cairo Settings)
- (BOOL)mainAppCoreClientEnableCairoSettings { return NO; }
%end
# pragma mark - Constructor
+2 -2
View File
@@ -6,8 +6,8 @@
%hook NSBundle
- (NSDictionary *)infoDictionary {
NSMutableDictionary *info = %orig.mutableCopy;
NSString *altBundleIdentifier = info[@"ALTBundleIdentifier"];
if (altBundleIdentifier) info[@"CFBundleIdentifier"] = altBundleIdentifier;
if ([self isEqual:NSBundle.mainBundle])
info[@"CFBundleIdentifier"] = @"com.google.ios.youtube";
return info;
}
%end
+3
View File
@@ -6,6 +6,9 @@
#import <YouTubeHeader/YTSettingsPickerViewController.h>
#import "uYouPlus.h"
NSString *UYOUPLUS_RELEASES_URL = @"https://github.com/qnblackcat/uYouPlus/releases";
NSString *UYOUPLUS_NEW_ISSUE_URL = @"https://github.com/qnblackcat/uYouPlus/issues/new?assignees=&labels=bug&projects=&template=bug.yaml&title=[v%@] %@";
// For displaying snackbars
@interface YTHUDMessage : NSObject
+ (id)messageWithText:(id)text;
+3 -3
View File
@@ -54,7 +54,7 @@ extern NSBundle *uYouPlusBundle();
return VERSION_STRING;
}
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
return [%c(YTUIUtils) openURL:[NSURL URLWithString:@"https://github.com/qnblackcat/uYouPlus/releases"]];
return [%c(YTUIUtils) openURL:[NSURL URLWithString:UYOUPLUS_RELEASES_URL]];
}
];
[sectionItems addObject:version];
@@ -65,9 +65,9 @@ extern NSBundle *uYouPlusBundle();
accessibilityIdentifier:nil
detailTextBlock:nil
selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) {
NSString *url = [NSString stringWithFormat:@"https://github.com/qnblackcat/uYouPlus/issues/new?assignees=&labels=bug&projects=&template=bug.yaml&title=[v%@] %@", VERSION_STRING, LOC(@"ADD_TITLE")];
NSString *url = [NSString stringWithFormat:UYOUPLUS_NEW_ISSUE_URL, VERSION_STRING, LOC(@"ADD_TITLE")];
return [%c(YTUIUtils) openURL:[NSURL URLWithString:[url stringByReplacingOccurrencesOfString:@" " withString:@"%20"]]];
return [%c(YTUIUtils) openURL:[NSURL URLWithString:url]];
}
];
[sectionItems addObject:bug];
Binary file not shown.