diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml
index ff5efa8..e71993f 100644
--- a/.github/workflows/buildapp.yml
+++ b/.github/workflows/buildapp.yml
@@ -67,7 +67,7 @@ jobs:
submodules: recursive
- name: Install Dependencies
- run: brew install ldid dpkg make
+ run: brew install ldid dpkg make jq
- name: Download Theos
uses: actions/checkout@v4.2.2
@@ -133,11 +133,14 @@ jobs:
unzip -q main/YouTube.ipa -d main/tmp
# Get the version number of the YouTube app and store it
echo "YT_VERSION=$(grep -A 1 'CFBundleVersion' main/tmp/Payload/YouTube.app/Info.plist | grep '' | awk -F'[><]' '{print $3}')" >> $GITHUB_ENV
- # Get the version number of the latest release
- wget -qO- https://github.com/dayanch96/YTLite/releases/latest > main/tmp/release_page.html
- YTLITE_VERSION=$(grep -o -E '/tag/v[^"]+' main/tmp/release_page.html | head -n 1 | sed 's/\/tag\/v//')
- echo "YTLITE_VERSION=5.0.1" >> $GITHUB_ENV
- echo $YTLITE_VERSION
+ # Fetch the latest YTLite version from GitHub API
+ YTLITE_VERSION=$(curl -s https://api.github.com/repos/dayanch96/YTLite/releases/latest | jq -r '.tag_name' | sed 's/^v//')
+ if [ -z "$YTLITE_VERSION" ] || [ "$YTLITE_VERSION" = "null" ]; then
+ echo "::error::Failed to fetch latest YTLite version from GitHub API"
+ exit 1
+ fi
+ echo "YTLITE_VERSION=$YTLITE_VERSION" >> $GITHUB_ENV
+ echo "Fetched YTLite version: $YTLITE_VERSION"
# Remove contents in the iPA that interfere with sideloading
rm -rf main/tmp/Payload/YouTube.app/_CodeSignature/CodeResources
rm -rf main/tmp/Payload/YouTube.app/PlugIns/*
@@ -170,13 +173,13 @@ jobs:
# Replace lines in Makefile based on inputs
sed -i '' "s/^BUNDLE_ID.*$/BUNDLE_ID = ${{ env.BUNDLE_ID }}/" Makefile
sed -i '' "s/^DISPLAY_NAME.*$/DISPLAY_NAME = ${{ env.APP_NAME }}/" Makefile
- sed -i '' "s/^PACKAGE_VERSION.*$/PACKAGE_VERSION = ${{ env.YT_VERSION }}-5.0.1/" Makefile
+ sed -i '' "s/^PACKAGE_VERSION.*$/PACKAGE_VERSION = ${{ env.YT_VERSION }}-${{ env.YTLITE_VERSION }}/" Makefile
sed -i '' "s/^export TARGET.*$/export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0/" Makefile
sed -i '' "s/^export SDK_PATH.*$/export SDK_PATH = \$(THEOS)\/sdks\/iPhoneOS${{ inputs.sdk_version }}.sdk\//" Makefile
# Build the package
make package SIDELOAD=1 THEOS_PACKAGE_SCHEME=rootless FINALPACKAGE=1
# Rename the package based on the version
- (mv "packages/$(ls -t packages | head -n1)" "packages/YTLitePlus_${{ env.YT_VERSION }}_5.0.1.ipa")
+ (mv "packages/$(ls -t packages | head -n1)" "packages/YTLitePlus_${{ env.YT_VERSION }}_${{ env.YTLITE_VERSION }}.ipa")
# Pass package name to the upload step
echo "package=$(ls -t packages | head -n1)" >> $GITHUB_OUTPUT
# Print out the hash and bundle ID
@@ -210,7 +213,7 @@ jobs:
if: ${{ inputs.create_release }}
run: |
export TODAY=$(date '+%Y-%m-%d')
- sed "s/%ytliteplus_version%/${{ env.YTLITE_VERSION }}/g; s/%youtube_version%/5.0.1/g; s/%catbox_url%/${{ env.CATBOX_FILE }}/g; s/%date%/$TODAY/g" \
+ sed "s/%ytliteplus_version%/${{ env.YTLITE_VERSION }}/g; s/%youtube_version%/${{ env.YT_VERSION }}/g; s/%catbox_url%/${{ env.CATBOX_FILE }}/g; s/%date%/$TODAY/g" \
main/.github/RELEASE_TEMPLATE/Release.md > ${{ github.workspace }}/release_notes.md
- name: Create Draft Release
@@ -220,8 +223,8 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
- tag_name: v${{ env.YT_VERSION }}-5.0.1
- name: v${{ env.YT_VERSION }}-5.0.1 - YTLitePlus
+ tag_name: v${{ env.YT_VERSION }}-${{ env.YTLITE_VERSION }}
+ name: v${{ env.YT_VERSION }}-${{ env.YTLITE_VERSION }} - YTLitePlus
files: main/packages/*.ipa
draft: true
body_path: ${{ github.workspace }}/release_notes.md
diff --git a/.gitmodules b/.gitmodules
index b299503..21fb17e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -7,12 +7,6 @@
[submodule "Tweaks/FLEX"]
path = Tweaks/FLEX
url = https://github.com/PoomSmart/FLEXing.git
-[submodule "Tweaks/iSponsorBlock"]
- path = Tweaks/iSponsorBlock
- url = https://github.com/Galactic-Dev/iSponsorBlock.git
-[submodule "Tweaks/YTHoldForSpeed"]
- path = Tweaks/YTHoldForSpeed
- url = https://github.com/aricloverALT/YTHoldForSpeed.git
[submodule "Tweaks/DontEatMyContent"]
path = Tweaks/DontEatMyContent
url = https://github.com/therealFoxster/DontEatMyContent.git
@@ -40,12 +34,6 @@
[submodule "Tweaks/YouGroupSettings"]
path = Tweaks/YouGroupSettings
url = https://github.com/PoomSmart/YouGroupSettings
-[submodule "Tweaks/YouMute"]
- path = Tweaks/YouMute
- url = https://github.com/PoomSmart/YouMute
-[submodule "Tweaks/YouQuality"]
- path = Tweaks/YouQuality
- url = https://github.com/PoomSmart/YouQuality
[submodule "Tweaks/Return-YouTube-Dislikes"]
path = Tweaks/Return-YouTube-Dislikes
url = https://github.com/PoomSmart/Return-YouTube-Dislikes.git
@@ -55,13 +43,7 @@
[submodule "Tweaks/YouTimeStamp"]
path = Tweaks/YouTimeStamp
url = https://github.com/aricloverALT/YouTimeStamp.git
-[submodule "Tweaks/YouLoop"]
- path = Tweaks/YouLoop
- url = https://github.com/bhackel/YouLoop
[submodule "Tweaks/FLEXing"]
path = Tweaks/FLEXing
url = https://github.com/PoomSmart/FLEXing.git
branch = rootless
-[submodule "Tweaks/YouSpeed"]
- path = Tweaks/YouSpeed
- url = https://github.com/PoomSmart/YouSpeed
diff --git a/Makefile b/Makefile
index 1dba5c9..51bc34b 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ BUNDLE_ID = com.google.ios.youtube
YTLitePlus_FILES = YTLitePlus.xm $(shell find Source -name '*.xm' -o -name '*.x' -o -name '*.m')
YTLitePlus_FRAMEWORKS = UIKit Security
-YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libFLEX.dylib .theos/obj/iSponsorBlock.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTHoldForSpeed.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouLoop.dylib .theos/obj/YouMute.dylib .theos/obj/YouQuality.dylib .theos/obj/YouSpeed.dylib .theos/obj/YouTimeStamp.dylib .theos/obj/YouGroupSettings.dylib
+YTLitePlus_INJECT_DYLIBS = Tweaks/YTLite/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib .theos/obj/libFLEX.dylib .theos/obj/YTUHD.dylib .theos/obj/YouPiP.dylib .theos/obj/YouTubeDislikesReturn.dylib .theos/obj/YTABConfig.dylib .theos/obj/DontEatMyContent.dylib .theos/obj/YTVideoOverlay.dylib .theos/obj/YouTimeStamp.dylib .theos/obj/YouGroupSettings.dylib
YTLitePlus_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib
YTLitePlus_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install_Alderis.xcarchive/Products/var/jb/Library/Frameworks/Alderis.framework
YTLitePlus_CFLAGS = -fobjc-arc -Wno-deprecated-declarations -Wno-unused-but-set-variable -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\"
@@ -36,7 +36,7 @@ YTLitePlus_USE_FISHHOOK = 0
include $(THEOS)/makefiles/common.mk
ifneq ($(JAILBROKEN),1)
-SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/YTUHD Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/DontEatMyContent Tweaks/YTHoldForSpeed Tweaks/YTVideoOverlay Tweaks/YouLoop Tweaks/YouMute Tweaks/YouQuality Tweaks/YouSpeed Tweaks/YouTimeStamp Tweaks/YouGroupSettings
+SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/YTUHD Tweaks/YouPiP Tweaks/Return-YouTube-Dislikes Tweaks/YTABConfig Tweaks/DontEatMyContent Tweaks/YTVideoOverlay Tweaks/YouTimeStamp Tweaks/YouGroupSettings
include $(THEOS_MAKE_PATH)/aggregate.mk
endif
include $(THEOS_MAKE_PATH)/tweak.mk
@@ -46,7 +46,10 @@ REMOVE_EXTENSIONS = 1
CODESIGN_IPA = 0
YTLITE_PATH = Tweaks/YTLite
-YTLITE_VERSION := 5.0.1
+YTLITE_VERSION := $(shell curl -s https://api.github.com/repos/dayanch96/YTLite/releases/latest | grep '"tag_name"' | sed 's/.*"v\(.*\)".*/\1/')
+ifeq ($(YTLITE_VERSION),)
+$(error Failed to fetch latest YTLite version from GitHub API)
+endif
YTLITE_DEB = $(YTLITE_PATH)/com.dvntm.ytlite_$(YTLITE_VERSION)_iphoneos-arm64.deb
YTLITE_DYLIB = $(YTLITE_PATH)/var/jb/Library/MobileSubstrate/DynamicLibraries/YTLite.dylib
YTLITE_BUNDLE = $(YTLITE_PATH)/var/jb/Library/Application\ Support/YTLite.bundle
diff --git a/Source/Settings.xm b/Source/Settings.xm
index 8946f03..e528b87 100644
--- a/Source/Settings.xm
+++ b/Source/Settings.xm
@@ -154,7 +154,7 @@ static const NSInteger YTLiteSection = 789;
// Show an option to export YouTube Plus settings
UIAlertController *exportAlert = [UIAlertController alertControllerWithTitle:@"Export Settings"
- message:@"Note: This feature cannot save iSponsorBlock and most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?"
+ message:@"Note: This feature cannot save most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?"
preferredStyle:UIAlertControllerStyleAlert];
[exportAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
[exportAlert addAction:[UIAlertAction actionWithTitle:@"Export" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
@@ -655,7 +655,6 @@ static const NSInteger YTLiteSection = 789;
BASIC_SWITCH(LOC(@"NEW_MINIPLAYER_STYLE"), LOC(@"NEW_MINIPLAYER_STYLE_DESC"), @"bigYTMiniPlayer_enabled"),
BASIC_SWITCH(LOC(@"HIDE_CAST_BUTTON"), LOC(@"HIDE_CAST_BUTTON_DESC"), @"hideCastButton_enabled"),
BASIC_SWITCH(LOC(@"VIDEO_PLAYER_BUTTON"), LOC(@"VIDEO_PLAYER_BUTTON_DESC"), @"videoPlayerButton_enabled"),
- BASIC_SWITCH(LOC(@"HIDE_SPONSORBLOCK_BUTTON"), LOC(@"HIDE_SPONSORBLOCK_BUTTON_DESC"), @"hideSponsorBlockButton_enabled"),
BASIC_SWITCH(LOC(@"HIDE_HOME_TAB"), LOC(@"HIDE_HOME_TAB_DESC"), @"hideHomeTab_enabled"),
BASIC_SWITCH(LOC(@"FIX_CASTING"), LOC(@"FIX_CASTING_DESC"), @"fixCasting_enabled"),
BASIC_SWITCH(LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS"), LOC(@"REPLACE_COPY_AND_PASTE_BUTTONS_DESC"), @"switchCopyandPasteFunctionality_enabled"),
@@ -722,7 +721,7 @@ static const NSInteger YTLiteSection = 789;
[[%c(GOOHUDManagerInternal) sharedInstance] showMessageMainThread:[%c(YTHUDMessage) messageWithText:@"Settings saved"]];
// Export mode: Display a reminder to save YouTube Plus settings
UIAlertController *exportAlert = [UIAlertController alertControllerWithTitle:@"Export Settings"
- message:@"Note: This feature cannot save iSponsorBlock and most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?"
+ message:@"Note: This feature cannot save most YouTube settings.\n\nWould you like to also export your YouTube Plus Settings?"
preferredStyle:UIAlertControllerStyleAlert];
[exportAlert addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil]];
[exportAlert addAction:[UIAlertAction actionWithTitle:@"Export" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
diff --git a/Source/SettingsKeys.h b/Source/SettingsKeys.h
index d18b4e8..d38802b 100644
--- a/Source/SettingsKeys.h
+++ b/Source/SettingsKeys.h
@@ -15,7 +15,7 @@ NSArray *NSUserDefaultsCopyKeys = @[
@"enableVersionSpoofer_enabled", @"fixCasting_enabled", @"flex_enabled", @"fullscreenToTheRight_enabled",
@"hideAutoplayMiniPreview_enabled", @"hideCastButton_enabled", @"hideHUD_enabled", @"hideHeatwaves_enabled",
@"hideHomeTab_enabled", @"hidePreviewCommentSection_enabled", @"hideRightPanel_enabled",
- @"hideSpeedToast_enabled", @"hideSponsorBlockButton_enabled", @"hideVideoPlayerShadowOverlayButtons_enabled",
+ @"hideSpeedToast_enabled", @"hideVideoPlayerShadowOverlayButtons_enabled",
@"iPadLayout_enabled", @"iPhoneLayout_enabled", @"inline_muted_playback_enabled", @"lowContrastMode_enabled",
@"newSettingsUI_enabled", @"oledKeyBoard_enabled", @"playerGesturesHapticFeedback_enabled",
@"playerGestures_enabled", @"seekAnywhere_enabled", @"switchCopyandPasteFunctionality_enabled",
@@ -23,18 +23,15 @@ NSArray *NSUserDefaultsCopyKeys = @[
// DEMC - https://github.com/therealFoxster/DontEatMyContent/blob/master/Tweak.h
@"DEMC_enabled", @"DEMC_colorViewsEnabled", @"DEMC_safeAreaConstant", @"DEMC_disableAmbientMode",
@"DEMC_limitZoomToFill", @"DEMC_enableForAllVideos",
- // iSponsorBlock cannot be exported using this method - it is also being removed in v5
+ // iSponsorBlock has been removed in v5 - YTLite has built-in SponsorBlock
// Return-YouTube-Dislike - https://github.com/PoomSmart/Return-YouTube-Dislikes/blob/main/TweakSettings.h
@"RYD-ENABLED", @"RYD-VOTE-SUBMISSION", @"RYD-EXACT-LIKE-NUMBER", @"RYD-EXACT-NUMBER",
- // All YTVideoOverlay Tweaks - https://github.com/PoomSmart/YTVideoOverlay/blob/0fc6d29d1aa9e75f8c13d675daec9365f753d45e/Tweak.x#L28C1-L41C84
- @"YTVideoOverlay-YouLoop-Enabled", @"YTVideoOverlay-YouTimeStamp-Enabled", @"YTVideoOverlay-YouMute-Enabled",
- @"YTVideoOverlay-YouQuality-Enabled", @"YTVideoOverlay-YouLoop-Position", @"YTVideoOverlay-YouTimeStamp-Position",
- @"YTVideoOverlay-YouMute-Position", @"YTVideoOverlay-YouQuality-Position",
+ // YTVideoOverlay Tweaks - https://github.com/PoomSmart/YTVideoOverlay/blob/0fc6d29d1aa9e75f8c13d675daec9365f753d45e/Tweak.x#L28C1-L41C84
+ @"YTVideoOverlay-YouTimeStamp-Enabled", @"YTVideoOverlay-YouTimeStamp-Position",
// YouPiP - https://github.com/PoomSmart/YouPiP/blob/main/Header.h
@"YouPiPPosition", @"CompatibilityModeKey", @"PiPActivationMethodKey", @"PiPActivationMethod2Key",
@"NoMiniPlayerPiPKey", @"NonBackgroundableKey",
// YTABConfig cannot be reasonably exported using this method
- // YTHoldForSpeed will be removed in v5
// YouTube Plus / YTLite cannot be exported using this method
// YTUHD - https://github.com/PoomSmart/YTUHD/blob/master/Header.h
@"EnableVP9", @"AllVP9",
diff --git a/Source/Themes.xm b/Source/Themes.xm
index 50457ff..94cb879 100644
--- a/Source/Themes.xm
+++ b/Source/Themes.xm
@@ -49,22 +49,6 @@ UIColor *customColor = [UIColor colorWithRed:0.129 green:0.129 blue:0.129 alpha:
return self.pageStyle == 1 ? customColor : %orig;
}
%end
-%hook SponsorBlockSettingsController
-- (void)viewDidLoad {
- if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
- %orig;
- self.tableView.backgroundColor = customColor;
- } else { return %orig; }
-}
-%end
-%hook SponsorBlockViewController
-- (void)viewDidLoad {
- if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
- %orig;
- self.view.backgroundColor = customColor;
- } else { return %orig; }
-}
-%end
%hook YTAsyncCollectionView
- (void)setBackgroundColor:(UIColor *)color {
if ([self.nextResponder isKindOfClass:NSClassFromString(@"YTRelatedVideosCollectionViewController")]) {
diff --git a/Tweaks/YTHoldForSpeed b/Tweaks/YTHoldForSpeed
deleted file mode 160000
index ba20df7..0000000
--- a/Tweaks/YTHoldForSpeed
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ba20df7ad8d0dfdb024688f3d92735f887fe5908
diff --git a/Tweaks/YouLoop b/Tweaks/YouLoop
deleted file mode 160000
index 899a2fd..0000000
--- a/Tweaks/YouLoop
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 899a2fdd539ae308e5847bbb3d7212cfce30a3a6
diff --git a/Tweaks/YouMute b/Tweaks/YouMute
deleted file mode 160000
index 8d6726e..0000000
--- a/Tweaks/YouMute
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8d6726e569a194d3f1c1ae973b290c66301087f1
diff --git a/Tweaks/YouQuality b/Tweaks/YouQuality
deleted file mode 160000
index d56dccd..0000000
--- a/Tweaks/YouQuality
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit d56dccd4336f0902f05813f4af177360c69fe33f
diff --git a/Tweaks/YouSpeed b/Tweaks/YouSpeed
deleted file mode 160000
index 79b9ed4..0000000
--- a/Tweaks/YouSpeed
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 79b9ed44958ad27fe75ee14ccc300aa99610c263
diff --git a/Tweaks/iSponsorBlock b/Tweaks/iSponsorBlock
deleted file mode 160000
index e0f97ef..0000000
--- a/Tweaks/iSponsorBlock
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit e0f97ef5fe47c5c3728ce2ff7a6fb02bc085e86b
diff --git a/YTLitePlus.h b/YTLitePlus.h
index 53910ee..1bd03c9 100644
--- a/YTLitePlus.h
+++ b/YTLitePlus.h
@@ -190,13 +190,12 @@ typedef NS_ENUM(NSUInteger, GestureSection) {
@property (nonatomic, assign, readwrite) YTQTMButton *watchCollapseButton;
@end
-// SponsorBlock button in Nav bar
+// SponsorBlock button in Nav bar - removed (now built into YTLite v5.x)
@interface MDCButton : UIButton
@end
@interface YTRightNavigationButtons (YTLitePlus)
@property YTQTMButton *notificationButton;
-@property YTQTMButton *sponsorBlockButton;
@property YTQTMButton *videoPlayerButton;
@end
@@ -274,12 +273,6 @@ typedef NS_ENUM(NSUInteger, GestureSection) {
@interface YTCommentDetailHeaderCell : UIView
@end
-@interface SponsorBlockSettingsController : UITableViewController
-@end
-
-@interface SponsorBlockViewController : UIViewController
-@end
-
@interface UICandidateViewController : UIViewController
@end
diff --git a/YTLitePlus.xm b/YTLitePlus.xm
index 9a87fdf..40d1cf4 100644
--- a/YTLitePlus.xm
+++ b/YTLitePlus.xm
@@ -108,16 +108,6 @@ BOOL isSelf() {
}
%end
-// Hide SponsorBlock Button in navigation bar
-%hook YTRightNavigationButtons
-- (void)layoutSubviews {
- %orig;
- if (IsEnabled(@"hideSponsorBlockButton_enabled")) {
- self.sponsorBlockButton.hidden = YES;
- }
-}
-%end
-
// Hide Video Player Cast Button
%group gHideCastButton
%hook MDXPlaybackRouteButtonController
@@ -1305,12 +1295,6 @@ NSInteger pageStyle = 0;
NSArray *allKeys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys];
if (![allKeys containsObject:@"YTLPDidPerformFirstRunSetup"]) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"YTLPDidPerformFirstRunSetup"];
- // Set iSponsorBlock to default disabled
- NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
- NSString *settingsPath = [documentsDirectory stringByAppendingPathComponent:@"iSponsorBlock.plist"];
- NSMutableDictionary *settings = [NSMutableDictionary dictionary];
- [settings setObject:@(NO) forKey:@"enabled"];
- [settings writeToFile:settingsPath atomically:YES];
// Set miscellaneous YTLitePlus features to enabled
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"RYD-ENABLED"];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"YouPiPEnabled"];