Fix iOS 12 Support

This commit is contained in:
2020-01-22 10:40:08 -05:00
parent e0aa707881
commit cbaf77e15b
2 changed files with 46 additions and 19 deletions

View File

@ -1,3 +1,5 @@
#import "ZenithDark.h"
/* /*
Dark Mode for Zenith's Grabber view! Dark Mode for Zenith's Grabber view!
@ -9,8 +11,7 @@ Written for Cooper Hull, @(mac-user669).
*/ */
#import "ZenithDark.h" %group Tweak13
// We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView” // We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView”
%hook ZNGrabberAccessoryView %hook ZNGrabberAccessoryView
@ -56,13 +57,30 @@ else {
} }
} }
// we need to make sure we tell theos that we are finished hooking this class not doing so with cause the end of the world :P %end // We need to make sure we tell theos that we are finished hooking this class not doing so with cause the end of the world :P
%end
static BOOL ios13;
%group Tweak12
//We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView”
%hook ZNGrabberAccessoryView
// The method we then modify is this method that is called from UIImageView to set the backgroundColor of the image view.
// Since the grabber view is of type UIImageView we can modify this method :)
-(void)setBackgroundColor:(UIColor *)backgroundColor {
//call the original function then pass our custom argument to the backgroundColor argument as shown below.
%orig(kDarkModeColor);
}
// We need to make sure we tell theos that we are finished hooking this class not doing so with cause the end of the world :P
%end
%end %end
static void loadPrefs() { // Load preferences to make sure changes are written to the plist
// Load preferences to make sure changes are written to the plist
static void loadPrefs() {
// Thanks to skittyblock! // Thanks to skittyblock!
CFArrayRef keyList = CFPreferencesCopyKeyList(CFSTR("com.mac-user669.zenithdark"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost); CFArrayRef keyList = CFPreferencesCopyKeyList(CFSTR("com.mac-user669.zenithdark"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
@ -77,22 +95,31 @@ static void loadPrefs() {
prefs = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH]; prefs = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH];
} }
//our preference values that write to a plist file when a user selects somethings kEnabled = [([prefs objectForKey:@"kEnabled"] ?: @(YES)) boolValue]; //our preference values that write to a plist file when a user selects somethings
kEnabled = [([prefs objectForKey:@"kEnabled"] ?: @(YES)) boolValue];
} }
// thanks to skittyblock! // Thanks to skittyblock!
static void PreferencesChangedCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) { static void PreferencesChangedCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) {
loadPrefs(); loadPrefs();
} }
// our constructor %ctor { // Our constructor
%ctor {
// load our prefs loadPrefs(); // Load our prefs
loadPrefs();
if (kEnabled) { // If enabled
if (@available(iOS 13, *)) { // If the device is running iOS 13
ios13 = YES; // Set "iOS13" to "YES"
%init(Tweak13); // Enable the group "Tweak13"
} else {
ios13 = NO; // Set "iOS13" to "NO"
%init(Tweak12); // Enable the group "Tweak12"
}
}
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback) PreferencesChangedCallback, CFSTR("com.mac-user669.zenithdark.prefschanged"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback) PreferencesChangedCallback, CFSTR("com.mac-user669.zenithdark.prefschanged"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
// We use this to make sure we load Zenith's dynamic library at runtime so we can modify it with our tweak.
dlopen ("/Library/MobileSubstrate/DynamicLibraries/Zenith.dylib", RTLD_NOW); dlopen ("/Library/MobileSubstrate/DynamicLibraries/Zenith.dylib", RTLD_NOW); // We use this to make sure we load Zenith's dynamic library at runtime so we can modify it with our tweak.
} }

View File

@ -1,8 +1,8 @@
Package: com.mac-user669.zenithdark Package: com.mac-user669.zenithdark
Version: 1.1 Version: 1.2
Architecture: iphoneos-arm Architecture: iphoneos-arm
Maintainer: mac-user669 Maintainer: mac-user669
Depends: mobilesubstrate, preferenceloader, com.muirey03.zenith, firmware (>=13.0) Depends: mobilesubstrate, preferenceloader, com.muirey03.zenith
Section: Tweaks Section: Tweaks
Description: Changes Zeniths tabs to a dark blur Description: Changes Zeniths tabs to a dark blur
Author: mac-user669 Author: mac-user669