diff --git a/Shared/TSUtil.m b/Shared/TSUtil.m
index 05eb89c..0afba28 100644
--- a/Shared/TSUtil.m
+++ b/Shared/TSUtil.m
@@ -7,10 +7,8 @@
static EXPLOIT_TYPE gPlatformVulnerabilities;
-@interface PSAppDataUsagePolicyCache : NSObject
-+ (instancetype)sharedInstance;
-- (void)setUsagePoliciesForBundle:(NSString*)bundleId cellular:(BOOL)cellular wifi:(BOOL)wifi;
-@end
+void* _CTServerConnectionCreate(CFAllocatorRef, void *, void *);
+int64_t _CTServerConnectionSetCellularUsagePolicy(CFTypeRef* ct, NSString* identifier, NSDictionary* policies);
#define POSIX_SPAWN_PERSONA_FLAGS_OVERRIDE 1
extern int posix_spawnattr_set_persona_np(const posix_spawnattr_t* __restrict, uid_t, uint32_t);
@@ -19,14 +17,14 @@ extern int posix_spawnattr_set_persona_gid_np(const posix_spawnattr_t* __restric
void chineseWifiFixup(void)
{
- NSBundle *bundle = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/SettingsCellular.framework"];
- [bundle load];
-
- PSAppDataUsagePolicyCache* policyCache = [NSClassFromString(@"PSAppDataUsagePolicyCache") sharedInstance];
- if([policyCache respondsToSelector:@selector(setUsagePoliciesForBundle:cellular:wifi:)])
- {
- [policyCache setUsagePoliciesForBundle:NSBundle.mainBundle.bundleIdentifier cellular:true wifi:true];
- }
+ _CTServerConnectionSetCellularUsagePolicy(
+ _CTServerConnectionCreate(kCFAllocatorDefault, NULL, NULL),
+ NSBundle.mainBundle.bundleIdentifier,
+ @{
+ @"kCTCellularDataUsagePolicy" : @"kCTCellularDataUsagePolicyAlwaysAllow",
+ @"kCTWiFiDataUsagePolicy" : @"kCTCellularDataUsagePolicyAlwaysAllow"
+ }
+ );
}
NSString *getExecutablePath(void)
diff --git a/TrollHelper/Makefile b/TrollHelper/Makefile
index 1ca41a3..0a01c68 100644
--- a/TrollHelper/Makefile
+++ b/TrollHelper/Makefile
@@ -19,7 +19,7 @@ include $(THEOS)/makefiles/common.mk
APPLICATION_NAME = TrollStorePersistenceHelper
TrollStorePersistenceHelper_FILES = $(wildcard *.m) $(wildcard ../Shared/*.m)
-TrollStorePersistenceHelper_FRAMEWORKS = UIKit CoreGraphics CoreServices
+TrollStorePersistenceHelper_FRAMEWORKS = UIKit CoreGraphics CoreServices CoreTelephony
TrollStorePersistenceHelper_PRIVATE_FRAMEWORKS = Preferences MobileContainerManager
TrollStorePersistenceHelper_CFLAGS = -fobjc-arc -I../Shared
diff --git a/TrollHelper/entitlements.plist b/TrollHelper/entitlements.plist
index 8d8ff62..5925e11 100644
--- a/TrollHelper/entitlements.plist
+++ b/TrollHelper/entitlements.plist
@@ -6,10 +6,7 @@
com.opa334.trollstorepersistencehelper
com.apple.CommCenter.fine-grained
- cellular-plan
- data-usage
data-allowed-write
- preferences-write
com.apple.private.persona-mgmt
diff --git a/TrollStore/Makefile b/TrollStore/Makefile
index d0c62e2..8bf3ab7 100644
--- a/TrollStore/Makefile
+++ b/TrollStore/Makefile
@@ -9,7 +9,7 @@ include $(THEOS)/makefiles/common.mk
APPLICATION_NAME = TrollStore
TrollStore_FILES = $(wildcard *.m) $(wildcard ../Shared/*.m)
-TrollStore_FRAMEWORKS = UIKit CoreGraphics CoreServices
+TrollStore_FRAMEWORKS = UIKit CoreGraphics CoreServices CoreTelephony
TrollStore_PRIVATE_FRAMEWORKS = Preferences MobileIcons MobileContainerManager
TrollStore_LIBRARIES = archive
TrollStore_CFLAGS = -fobjc-arc -I../Shared
diff --git a/TrollStore/entitlements.plist b/TrollStore/entitlements.plist
index da67efb..abc5d7b 100644
--- a/TrollStore/entitlements.plist
+++ b/TrollStore/entitlements.plist
@@ -37,10 +37,7 @@
com.apple.CommCenter.fine-grained
- cellular-plan
- data-usage
data-allowed-write
- preferences-write
com.apple.springboard.opensensitiveurl