├── packages └── com.netskao.noappthinning_1.4_iphoneos-arm64.deb ├── layout └── DEBIAN │ ├── postrm │ ├── control │ └── postinst ├── Makefile ├── README.md ├── NoAppThinning.plist └── Tweak.xm /packages/com.netskao.noappthinning_1.4_iphoneos-arm64.deb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Netskao/NoAppThinning/HEAD/packages/com.netskao.noappthinning_1.4_iphoneos-arm64.deb -------------------------------------------------------------------------------- /layout/DEBIAN/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Reloading services..." 3 | launchctl kickstart -k system/com.apple.itunesstored 4 | killall -9 TestFlight 5 | echo "Reloaded services." 6 | exit 0 -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | INSTALL_TARGET_PROCESSES = AppStore TestFlight 2 | ARCHS = arm64 arm64e 3 | TARGET = iphone:clang:latest:15.0 4 | include $(THEOS)/makefiles/common.mk 5 | 6 | TWEAK_NAME = NoAppThinning 7 | $(TWEAK_NAME)_FILES = Tweak.xm 8 | 9 | include $(THEOS_MAKE_PATH)/tweak.mk 10 | -------------------------------------------------------------------------------- /layout/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: com.netskao.noappthinning 2 | Conflicts: it.ned.noappthinning 3 | Name: NoAppThinning 4 | Version: 1.4 5 | Description: Disable AppStore app thinning - by level3tjg, Disable TestFlight app thinning - by Netskao 6 | Depends: firmware (>= 15.0), mobilesubstrate 7 | Architecture: iphoneos-arm 8 | Author: Netskao 9 | Maintainer: Netskao 10 | Section: Netskao-Tweaks 11 | -------------------------------------------------------------------------------- /layout/DEBIAN/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Reloading services..." 3 | launchctl unload /System/Library/LaunchDaemons/com.apple.appstored.plist 4 | launchctl unload /System/Library/LaunchDaemons/com.apple.itunesstored.plist 5 | killall -9 TestFlight 6 | sleep 1 7 | launchctl load /System/Library/LaunchDaemons/com.apple.appstored.plist 8 | launchctl load /System/Library/LaunchDaemons/com.apple.itunesstored.plist 9 | echo "Reloaded services." 10 | exit 0 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NoAppThinning 2 | Cydia tweak to disable App Store app thinning. This means that all architectures available for an app will be included when downloading it from the App Store. Warning: this will increase download size! 3 | 4 | No settings to configure and no respring needed. Only tested on iOS 15+. 5 | 6 | ## Installation 7 | You can install the `.deb` manually or get it at this Sileo repo: https://jailrepo.initnil.com 8 | 9 | ## Credits 10 | Credits: [level3tjg](https://twitter.com/level3tjg) 11 | -------------------------------------------------------------------------------- /NoAppThinning.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Filter 6 | 7 | Bundles 8 | 9 | com.apple.AppStore 10 | com.apple.TestFlight 11 | 12 | Mode 13 | Any 14 | Executables 15 | 16 | itunesstored 17 | appstored 18 | 19 | 20 | SupportsRoot 21 | 1 22 | 23 | 24 | -------------------------------------------------------------------------------- /Tweak.xm: -------------------------------------------------------------------------------- 1 | /* Source: https://gist.github.com/level3tjg/813f7269a405b00203484382da18d3bf */ 2 | /* Credits: level3tjg */ 3 | 4 | #import 5 | 6 | static NSString *const kDeviceType = @"iPhone"; 7 | 8 | %hook XDCDevice 9 | - (NSString *)productType { 10 | return kDeviceType; 11 | } 12 | %end 13 | 14 | %hook Device 15 | - (NSArray *)productVariants { 16 | return @[kDeviceType]; 17 | } 18 | %end 19 | 20 | %hook SSDevice 21 | - (NSString *)productType { 22 | return kDeviceType; 23 | } 24 | - (NSString *)compatibleProductType { 25 | return kDeviceType; 26 | } 27 | %end 28 | 29 | %hook AMSDevice 30 | + (NSString *)productType { 31 | return kDeviceType; 32 | } 33 | + (NSString *)compatibleProductType { 34 | return kDeviceType; 35 | } 36 | + (NSString *)_lib_compatibleProductType { 37 | return kDeviceType; 38 | } 39 | %end 40 | 41 | // TestFlight Hooks 42 | static BOOL isRequestNewApp = NO; 43 | 44 | %hook TFCurrentDevice 45 | + (NSArray *)compatibleAppVariants { 46 | if (isRequestNewApp) return %orig; 47 | return @[kDeviceType]; 48 | } 49 | %end 50 | 51 | // Flag to add a new application request 52 | %hook TFHallidayService 53 | - (void)requestAppForPublicLinkToken:(id)arg1 completion:(void (^)(id response, id error))completion { 54 | isRequestNewApp = YES; 55 | completion = ^(id response, id error) { 56 | if (!error) { 57 | isRequestNewApp = NO; 58 | } 59 | completion(response, error); 60 | }; 61 | return %orig; 62 | } 63 | 64 | - (void)postAcceptPublicLinkWithToken:(id)arg1 completion:(void (^)(id response, id error))completion { 65 | isRequestNewApp = YES; 66 | completion = ^(id response, id error) { 67 | if (!error) { 68 | isRequestNewApp = NO; 69 | } 70 | completion(response, error); 71 | }; 72 | return %orig; 73 | } 74 | %end 75 | --------------------------------------------------------------------------------