diff --git a/Frameworks/Preferences.framework/Headers/PSSpecifier.h b/Frameworks/Preferences.framework/Headers/PSSpecifier.h
index d19bb3d..67d94f0 100644
--- a/Frameworks/Preferences.framework/Headers/PSSpecifier.h
+++ b/Frameworks/Preferences.framework/Headers/PSSpecifier.h
@@ -119,6 +119,7 @@ __END_DECLS
@interface PSSpecifier : NSObject {
@public
SEL action;
+ Class detailControllerClass;
}
+ (instancetype)preferenceSpecifierNamed:(NSString *)identifier target:(id)target set:(SEL)set get:(SEL)get detail:(Class)detail cell:(PSCellType)cellType edit:(Class)edit;
@@ -143,4 +144,7 @@ __END_DECLS
@property (nonatomic) SEL controllerLoadAction;
- (Class)detailControllerClass;
+-(SEL)controllerLoadAction;
+-(void)performControllerLoadAction;
+
@end
diff --git a/Frameworks/Preferences.framework/Headers/PSViewController.h b/Frameworks/Preferences.framework/Headers/PSViewController.h
index 56aea08..62a4b09 100644
--- a/Frameworks/Preferences.framework/Headers/PSViewController.h
+++ b/Frameworks/Preferences.framework/Headers/PSViewController.h
@@ -1,4 +1,4 @@
-@class PSSpecifier;
+@class PSSpecifier, PSRootController;
@interface PSViewController : UIViewController
@@ -15,7 +15,7 @@
@property (nonatomic, retain) PSSpecifier *specifier;
@property (nonatomic, retain) PSViewController *parentController;
-@property (nonatomic, retain) PSViewController *rootController;
+@property (nonatomic, retain) PSRootController *rootController;
- (void)suspend;
diff --git a/Makefile b/Makefile
index a375b5e..fd6cf83 100644
--- a/Makefile
+++ b/Makefile
@@ -2,15 +2,17 @@ export TARGET = iphone:clang:13.0:10.0
export ARCHS = armv7 arm64
DEBUG = 1
+DEBUG_EXT =
FINALPACKAGE = 1
GO_EASY_ON_ME = 0
LEAN_AND_MEAN = 1
THEOS_PACKAGE_DIR = Releases
INSTALL_TARGET_PROCESSES = TweakSettings
-PACKAGE_VERSION = $(THEOS_PACKAGE_BASE_VERSION)
+PACKAGE_VERSION = $(THEOS_PACKAGE_BASE_VERSION)$(DEBUG_EXT)
include $(THEOS)/makefiles/common.mk
+LAUNCH_URL =
XCODEPROJ_NAME = TweakSettings
TweakSettings_XCODEFLAGS = PACKAGE_VERSION='@\"$(THEOS_PACKAGE_BASE_VERSION)\"'
TweakSettings_CODESIGN_FLAGS = -SResources/entitlements.plist
@@ -23,6 +25,9 @@ include $(THEOS_MAKE_PATH)/aggregate.mk
after-stage::
$(ECHO_NOTHING)rm -f $(THEOS_STAGING_DIR)/Applications/TweakSettings.app/Localizable.strings$(ECHO_END)
+ $(ECHO_NOTHING)/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${THEOS_PACKAGE_BASE_VERSION}" "${THEOS_STAGING_DIR}/Applications/${XCODEPROJ_NAME}.app/Info.plist"$(ECHO_END)
+ $(ECHO_NOTHING)/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${PACKAGE_VERSION}" "${THEOS_STAGING_DIR}/Applications/${XCODEPROJ_NAME}.app/Info.plist"$(ECHO_END)
+ @echo "Set bundle version to: ${PACKAGE_VERSION}"
after-install::
- install.exec "killall -9 TweakSettings; uicache -p /Applications/TweakSettings.app; uiopen tweaks:"
+ install.exec "killall -9 ${XCODEPROJ_NAME}; uicache -p /Applications/${XCODEPROJ_NAME}.app; uiopen tweaks:$(LAUNCH_URL)"
\ No newline at end of file
diff --git a/Releases/com.creaturecoding.tweaksettings_1.0.5_iphoneos-arm.deb b/Releases/com.creaturecoding.tweaksettings_1.0.5_iphoneos-arm.deb
new file mode 100644
index 0000000..1e34b19
Binary files /dev/null and b/Releases/com.creaturecoding.tweaksettings_1.0.5_iphoneos-arm.deb differ
diff --git a/Resources/entitlements.plist b/Resources/entitlements.plist
index 23c7950..240d4e5 100644
--- a/Resources/entitlements.plist
+++ b/Resources/entitlements.plist
@@ -54,5 +54,9 @@
kTCCServiceFaceID
kTCCServiceMediaLibrary
+
+
+ com.apple.springboard.opensensitiveurl
+
diff --git a/TweakSettings-App/TSAppDelegate.h b/TweakSettings-App/TSAppDelegate.h
index 3af8577..d8b349b 100644
--- a/TweakSettings-App/TSAppDelegate.h
+++ b/TweakSettings-App/TSAppDelegate.h
@@ -14,5 +14,6 @@
@property(strong, nonatomic) UIWindow *window;
- (void)handleActionForType:(NSString *)actionType withConfirmationSender:(id)sender;
+- (void)openApplicationURL:(NSURL *)url;
@end
diff --git a/TweakSettings-App/TSAppDelegate.m b/TweakSettings-App/TSAppDelegate.m
index 0404234..e13f5c7 100644
--- a/TweakSettings-App/TSAppDelegate.m
+++ b/TweakSettings-App/TSAppDelegate.m
@@ -7,6 +7,8 @@
//
#import
+#import
+#import
#import "TSAppDelegate.h"
#import "TSRootListController.h"
#import "Localizable.h"
@@ -19,6 +21,7 @@ @interface TSAppDelegate ()
@property(nonatomic, strong) PSRootController *rootController;
@property(nonatomic, strong) TSRootListController *rootListController;
+@property(nonatomic, strong) NSString *launchIdentifier;
@end
@@ -38,6 +41,8 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
_rootListController = [TSRootListController new];
_rootController = [[PSRootController alloc] initWithRootViewController:_rootListController];
+ _rootListController.rootController = _rootController;
+ _rootListController.launchIdentifier = _launchIdentifier;
self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
self.window.rootViewController = _rootController;
@@ -78,10 +83,16 @@ - (void)applicationWillTerminate:(UIApplication *)application {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
-- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {
+- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options {
+
+ if ([url.scheme isEqualToString:@"tweaks"]) {
+
+ NSString *urlString = url.absoluteString;
+
+ if ([urlString containsString:@"root="]) {
+ self.launchIdentifier = [urlString substringFromIndex:[urlString rangeOfString:@"root="].location + 5];
+ }
- if ([url.scheme isEqualToString:@"tweaks:"]) {
- [_rootController handleURL:url];
return YES;
}
@@ -94,6 +105,15 @@ - (void)application:(UIApplication *)application performActionForShortcutItem:(U
completionHandler(YES);
}
+- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler {
+
+ if ([userActivity.activityType isEqualToString:CSSearchableItemActionType]) {
+ self.launchIdentifier = [userActivity.userInfo[CSSearchableItemActivityIdentifier] stringByReplacingOccurrencesOfString:@"tweaks:root=" withString:@""];
+ }
+
+ return YES;
+}
+
- (void)handleActionForType:(NSString *)actionType withConfirmationSender:(id)sender {
UIAlertController *controller = ActionAlertForType(actionType);
@@ -117,4 +137,24 @@ - (void)handleActionForType:(NSString *)actionType withConfirmationSender:(id)se
[self.rootController presentViewController:controller animated:YES completion:nil];
}
+- (void)setLaunchIdentifier:(NSString *)launchIdentifier {
+
+ _launchIdentifier = [launchIdentifier stringByReplacingOccurrencesOfString:@"tweaks:root=" withString:@""];
+ _launchIdentifier = launchIdentifier;
+ _rootListController.launchIdentifier = launchIdentifier;
+
+ [_rootController popToRootViewControllerAnimated:NO];
+ [_rootListController pushToLaunchIdentifier];
+}
+
+- (void)openApplicationURL:(NSURL *)url {
+
+ void (*SBSOpenSensitiveURLAndUnlock)(NSURL *, BOOL);
+ if ((SBSOpenSensitiveURLAndUnlock = (void (*)(NSURL *, BOOL)) dlsym(RTLD_DEFAULT, "SBSOpenSensitiveURLAndUnlock"))) {
+ (*SBSOpenSensitiveURLAndUnlock)(url, YES);
+ } else if (@available(iOS 10,*)) {
+ [self openURL:url options:@{} completionHandler:nil];
+ }
+}
+
@end
diff --git a/TweakSettings-App/TSRootListController.h b/TweakSettings-App/TSRootListController.h
index 40295cd..c9211ba 100644
--- a/TweakSettings-App/TSRootListController.h
+++ b/TweakSettings-App/TSRootListController.h
@@ -10,4 +10,7 @@
@interface TSRootListController : TSSearchableListController
+@property (nonatomic, strong) NSString *launchIdentifier;
+
+- (void)pushToLaunchIdentifier;
@end
diff --git a/TweakSettings-App/TSRootListController.m b/TweakSettings-App/TSRootListController.m
index 9662b59..bcaa891 100644
--- a/TweakSettings-App/TSRootListController.m
+++ b/TweakSettings-App/TSRootListController.m
@@ -6,12 +6,18 @@
//
//
+#import
+#import
#import
#import
#import "TSRootListController.h"
+#import "TSAppDelegate.h"
#import "Localizable.h"
#import "libprefs.h"
-#import "TSAppDelegate.h"
+
+@interface UIBarButtonItem (iOS14)
+- (id)initWithTitle:(NSString *)table menu:(UIMenu *)menu API_AVAILABLE(ios(13.0));
+@end
@interface TSRootListController ()
@@ -36,6 +42,12 @@ - (void)viewDidLoad {
self.table.refreshControl = _refreshControl;
}
+- (void)viewWillAppear:(BOOL)animated {
+ [super viewWillAppear:animated];
+
+ [self pushToLaunchIdentifier];
+}
+
- (NSMutableArray *)specifiers {
if (!_specifiers) {
NSMutableArray *specifiers = [self loadTweakSpecifiers].mutableCopy;
@@ -58,6 +70,28 @@ - (NSMutableArray *)specifiers {
return _specifiers;
}
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+ UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
+ if (!cell.gestureRecognizers.count) {
+ [cell addGestureRecognizer:[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleCellLongPress:)]];
+ }
+ return cell;
+}
+
+- (void)handleCellLongPress:(UILongPressGestureRecognizer *)sender {
+
+ if (sender.state == UIGestureRecognizerStateBegan) {
+
+ CGPoint point = [sender locationInView:self.table];
+ NSIndexPath *indexPath = [self.table indexPathForRowAtPoint:point];
+ PSSpecifier *specifier = [self specifierAtIndexPath:indexPath];
+ NSString *urlString = [NSString stringWithFormat:@"prefs:root=%@", specifier.identifier];
+ NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]];
+
+ [(TSAppDelegate *)UIApplication.sharedApplication openApplicationURL:url];
+ }
+}
+
- (NSArray *)loadTweakSpecifiers {
NSMutableArray *preferenceSpecifiers = [NSMutableArray new];
@@ -92,7 +126,7 @@ - (NSMutableArray *)specifiers {
}
NSBundle *prefBundle = [NSBundle bundleWithPath:(isBundle ? bundlePath : sourceBundlePath)];
- NSArray *bundleControllers = [listController valueForKey:@"_bundleControllers"];
+ NSMutableArray *bundleControllers = [listController valueForKey:@"_bundleControllers"];
void *handle = dlopen("/System/Library/PrivateFrameworks/Preferences.framework/Preferences", RTLD_LAZY);
NSArray *(*_SpecifiersFromPlist)(NSDictionary *,PSSpecifier *,id ,NSString *,NSBundle *,NSString **,NSString **,PSListController *,NSMutableArray **) = dlsym(handle, "SpecifiersFromPlist");
@@ -130,13 +164,14 @@ - (NSMutableArray *)specifiers {
};
NSArray *preferenceBundlePaths = [NSFileManager.defaultManager subpathsOfDirectoryAtPath:@"/Library/PreferenceLoader/Preferences" error:nil];
+ NSMutableArray *searchableItems = [NSMutableArray new];
for (NSString *item in preferenceBundlePaths)
{
if (![item.pathExtension isEqualToString:@"plist"]) continue;
NSString *plistPath = [NSString stringWithFormat:@"/Library/PreferenceLoader/Preferences/%@", item];
- NSDictionary *plist = [NSDictionary dictionaryWithContentsOfFile:plistPath];
+ NSDictionary *plist = DICTIONARY_WITH_PLIST(plistPath);
if (!plist[@"entry"]) continue;
if (!PREFERENCE_FILTER_PASSES_ENVIRONMENT_CHECKS(plist[@"filter"] ?: plist[@"pl_filter"])) continue;
@@ -153,6 +188,23 @@ - (NSMutableArray *)specifiers {
if (itemSpecifiers && itemSpecifiers.count)
{
+ for (PSSpecifier *specifier in itemSpecifiers)
+ {
+ if (![specifier propertyForKey:PSIconImageKey]) {
+ [specifier setProperty:[UIImage imageNamed:@"tweak"] forKey:PSIconImageKey];
+ }
+
+ CSSearchableItemAttributeSet *attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *) kUTTypeImage];
+ attributeSet.title = specifier.name;
+ attributeSet.contentDescription = [NSString stringWithFormat:@"Tweak Settings \u2192 %@", specifier.name];
+ attributeSet.thumbnailData = UIImagePNGRepresentation([specifier propertyForKey:PSIconImageKey]);
+ attributeSet.keywords = @[@"tweaks", @"packages", @"jailbreak", specifier.name];
+
+ NSString *uniqueIdentifier = [NSString stringWithFormat:@"%@", specifier.identifier];
+ CSSearchableItem *searchItem = [[CSSearchableItem alloc] initWithUniqueIdentifier:uniqueIdentifier domainIdentifier:@"com.creaturecoding.tweaksettings" attributeSet:attributeSet];
+ [searchableItems addObject:searchItem];
+ }
+
[preferenceSpecifiers addObjectsFromArray:itemSpecifiers];
}
}
@@ -163,6 +215,10 @@ - (NSMutableArray *)specifiers {
];
}
+ [CSSearchableIndex.defaultSearchableIndex deleteAllSearchableItemsWithCompletionHandler:^(NSError *error) {
+ [CSSearchableIndex.defaultSearchableIndex indexSearchableItems:searchableItems completionHandler:nil];
+ }];
+
return preferenceSpecifiers;
}
@@ -176,4 +232,40 @@ - (void)handleActionButtonTapped:(UIBarButtonItem *)sender {
[self.navigationController presentViewController:ActionListAlert(sender) animated:YES completion:nil];
}
+- (void)pushToLaunchIdentifier {
+
+ if (_launchIdentifier) {
+ PSSpecifier *specifier = [self specifierForID:_launchIdentifier];
+
+ if (specifier) {
+
+ [specifier performControllerLoadAction];
+
+ Class detailClass = [specifier respondsToSelector:@selector(detailControllerClass)]
+ ? [specifier detailControllerClass]
+ : [specifier valueForKey:@"detailControllerClass"]
+ ? : NSClassFromString(@"PLCustomListController");
+
+ if ([detailClass isSubclassOfClass:PSViewController.class]) {
+
+ id controller = [detailClass alloc];
+ controller = ([controller respondsToSelector:@selector(initForContentSize:)])
+ ? [controller initForContentSize:UIScreen.mainScreen.bounds.size]
+ : [controller init];
+
+ if (controller && [controller isKindOfClass:PSViewController.class]) {
+
+ [controller setRootController:self.rootController];
+ [controller setParentController:self];
+ [controller setSpecifier:specifier];
+ }
+
+ [self.navigationController pushViewController:controller animated:NO];
+ }
+ }
+ }
+
+ _launchIdentifier = nil;
+}
+
@end
diff --git a/TweakSettings-App/TSUtilityActionManager.m b/TweakSettings-App/TSUtilityActionManager.m
index 6d9e49d..64ebdae 100644
--- a/TweakSettings-App/TSUtilityActionManager.m
+++ b/TweakSettings-App/TSUtilityActionManager.m
@@ -128,17 +128,14 @@ int HandleActionForType(NSString *actionType) {
[menuActions addObject:[UIAction actionWithTitle:NSLocalizedString(REBOOT_TITLE_KEY, nil) image:nil identifier:nil handler:^(__kindof UIAction *action) {
[((TSAppDelegate *)UIApplication.sharedApplication) handleActionForType:TSActionTypeReboot withConfirmationSender:sender];
}]];
- [menuActions addObject:[UIAction actionWithTitle:NSLocalizedString(USREBOOT_TITLE_KEY, nil) image:nil identifier:nil handler:^(__kindof UIAction *action) {
- [((TSAppDelegate *)UIApplication.sharedApplication) handleActionForType:TSActionTypeUserspaceReboot withConfirmationSender:sender];
- }]];
if (userspace_supported) {
- [UIAction actionWithTitle:NSLocalizedString(USREBOOT_TITLE_KEY, nil) image:nil identifier:nil handler:^(__kindof UIAction *action) {
+ [menuActions addObject:[UIAction actionWithTitle:NSLocalizedString(USREBOOT_TITLE_KEY, nil) image:nil identifier:nil handler:^(__kindof UIAction *action) {
[((TSAppDelegate *)UIApplication.sharedApplication) handleActionForType:TSActionTypeUserspaceReboot withConfirmationSender:sender];
- }];
+ }]];
}
- [UIAction actionWithTitle:NSLocalizedString(TWEAKINJECT_TITLE_KEY, nil) image:nil identifier:nil handler:^(__kindof UIAction *action) {
+ [menuActions addObject:[UIAction actionWithTitle:NSLocalizedString(TWEAKINJECT_TITLE_KEY, nil) image:nil identifier:nil handler:^(__kindof UIAction *action) {
[((TSAppDelegate *)UIApplication.sharedApplication) handleActionForType:TSActionTypeTweakInject withConfirmationSender:sender];
- }];
+ }]];
return [UIMenu menuWithTitle:@"" children:menuActions];
}
\ No newline at end of file
diff --git a/TweakSettings-Utility/main.c b/TweakSettings-Utility/main.c
index fdc73bb..6e8afdd 100644
--- a/TweakSettings-Utility/main.c
+++ b/TweakSettings-Utility/main.c
@@ -6,7 +6,6 @@
#include
#include
-extern int reboot3(uint64_t arg);
int proc_pidpath(pid_t pid, void *buffer, uint32_t buffersize);
typedef enum {
@@ -55,6 +54,18 @@ void print_usage() {
printf("tweaksettings-utility is for use only by TweakSettings\n\n");
}
+int status_for_cmd(const char *cmd) {
+ FILE *proc = popen(cmd, "r");
+
+ if (!proc) {return EXIT_FAILURE;}
+
+ int size = 1024;
+ char data[size];
+ while (fgets(data, size, proc) != NULL) {}
+
+ return pclose(proc);
+}
+
int main(int argc, char **argv, char **envp) {
// check that TweakSettings.app exists
@@ -136,13 +147,13 @@ int main(int argc, char **argv, char **envp) {
execlp("/usr/bin/uicache", "uicache", NULL);
} break;
case TSUtilityActionTypeReboot: {
- execlp("/usr/bin/reboot", "reboot", NULL);
+ execlp("/usr/sbin/reboot", "reboot", NULL);
} break;
case TSUtilityActionTypeLDRestart: {
execlp("/usr/bin/ldrestart", "ldrestart", NULL);
} break;
case TSUtilityActionTypeUSReboot: {
- status = reboot3(0x2000000000000000ULL);
+ status = status_for_cmd("/usr/bin/launchctl reboot userspace");
} break;
case TSUtilityActionTypeTweakinject: {
diff --git a/TweakSettings.xcodeproj/project.pbxproj b/TweakSettings.xcodeproj/project.pbxproj
index d316bf3..d911d6a 100644
--- a/TweakSettings.xcodeproj/project.pbxproj
+++ b/TweakSettings.xcodeproj/project.pbxproj
@@ -18,6 +18,8 @@
B86FC5D626645DE60011E4AF /* Preferences.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B871CD462651D3680058F1C2 /* Preferences.framework */; };
B871CDA0265601110058F1C2 /* icon_large.png in Resources */ = {isa = PBXBuildFile; fileRef = B871CD9F265601110058F1C2 /* icon_large.png */; };
B871CDBA26599BFD0058F1C2 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B871CDB5265991710058F1C2 /* Localizable.strings */; };
+ B8917F68267590B700A9DA57 /* CoreSpotlight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8917F67267590B700A9DA57 /* CoreSpotlight.framework */; };
+ B8917F6A2675944E00A9DA57 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8917F692675944E00A9DA57 /* CoreServices.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -48,6 +50,8 @@
B871CD802655F1050058F1C2 /* TS-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TS-Prefix.pch"; sourceTree = ""; };
B871CD9F265601110058F1C2 /* icon_large.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon_large.png; sourceTree = ""; };
B871CDB4265991710058F1C2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; };
+ B8917F67267590B700A9DA57 /* CoreSpotlight.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreSpotlight.framework; path = System/Library/Frameworks/CoreSpotlight.framework; sourceTree = SDKROOT; };
+ B8917F692675944E00A9DA57 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -55,6 +59,8 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ B8917F68267590B700A9DA57 /* CoreSpotlight.framework in Frameworks */,
+ B8917F6A2675944E00A9DA57 /* CoreServices.framework in Frameworks */,
B86FC5D626645DE60011E4AF /* Preferences.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -120,6 +126,8 @@
B86FC5D226645DC50011E4AF /* Frameworks */ = {
isa = PBXGroup;
children = (
+ B8917F692675944E00A9DA57 /* CoreServices.framework */,
+ B8917F67267590B700A9DA57 /* CoreSpotlight.framework */,
);
name = Frameworks;
sourceTree = "";
@@ -276,7 +284,7 @@
INFOPLIST_FILE = "$(SRCROOT)/TweakSettings-App/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.0.4;
+ MARKETING_VERSION = 1.0.5;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_BUNDLE_IDENTIFIER = com.creaturecoding.tweaksettings;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -360,7 +368,7 @@
INFOPLIST_FILE = "$(SRCROOT)/TweakSettings-App/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.0.4;
+ MARKETING_VERSION = 1.0.5;
PRODUCT_BUNDLE_IDENTIFIER = com.creaturecoding.tweaksettings;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
diff --git a/layout/DEBIAN/control b/layout/DEBIAN/control
index cad88df..12c0929 100644
--- a/layout/DEBIAN/control
+++ b/layout/DEBIAN/control
@@ -1,7 +1,7 @@
Package: com.creaturecoding.tweaksettings
Name: TweakSettings
Depends: firmware (>= 10.0), preferenceloader | com.creaturecoding.preferred
-Version: 1.0.4
+Version: 1.0.5
Priority: optional
Architecture: iphoneos-arm
Description: Dedicated settings app for tweaks