├── .clang-format ├── .github └── workflows │ └── build.yml ├── .gitignore ├── Artworks ├── AppIcon.png ├── HavocMarketing.png └── IconDrawer.swift ├── IconRestore.plist ├── IconRestore.x ├── IconRestorePrefs ├── IconRestoreRootListController.h ├── IconRestoreRootListController.m ├── Library │ └── _Simulator │ │ └── Preferences.framework │ │ └── Preferences.tbd ├── Makefile ├── Resources │ ├── Info.plist │ ├── Root.plist │ ├── en.lproj │ │ ├── InfoPlist.strings │ │ └── Root.strings │ ├── icon@2x.png │ ├── icon@3x.png │ └── zh-Hans.lproj │ │ ├── InfoPlist.strings │ │ └── Root.strings └── layout │ └── Library │ └── PreferenceLoader │ └── Preferences │ └── IconRestorePrefs │ └── Root.plist ├── LICENSE ├── Makefile ├── README.md ├── devkit ├── env.sh ├── roothide.sh ├── rootless.sh ├── sim-install.sh ├── sim-launch.sh ├── sim-root.sh └── simulator.sh └── layout └── DEBIAN └── control /.clang-format: -------------------------------------------------------------------------------- 1 | # clang-format 2 | BasedOnStyle: LLVM 3 | IndentWidth: 4 4 | AccessModifierOffset: -4 5 | ContinuationIndentWidth: 4 6 | ColumnLimit: 120 -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build Package 2 | 3 | on: 4 | workflow_dispatch: 5 | push: 6 | branches: 7 | - release 8 | 9 | env: 10 | VERSION: 1.0 11 | FINALPACKAGE: 1 12 | HOMEBREW_NO_AUTO_UPDATE: 1 13 | HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 14 | 15 | jobs: 16 | build: 17 | runs-on: macos-14 18 | 19 | steps: 20 | - name: Setup Xcode 21 | uses: maxim-lobanov/setup-xcode@v1 22 | with: 23 | xcode-version: '15.4' 24 | 25 | - name: Setup Environment 26 | run: | 27 | echo "THEOS=$HOME/theos" >> $GITHUB_ENV 28 | echo "THEOS_IGNORE_PARALLEL_BUILDING_NOTICE=yes" >> $HOME/.theosrc 29 | 30 | - name: Setup Theos 31 | run: | 32 | bash -c "$(curl -fsSL https://raw.githubusercontent.com/OwnGoalStudio/theos/ci/auth-token/bin/install-theos)" 33 | env: 34 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 35 | 36 | - name: Setup Environment (RootHide) 37 | run: | 38 | echo "THEOS=$HOME/theos-roothide" >> $GITHUB_ENV 39 | 40 | - name: Setup Theos (RootHide) 41 | run: | 42 | bash -c "$(curl -fsSL https://raw.githubusercontent.com/OwnGoalStudio/theos-roothide/ci/auth-token/bin/install-theos)" 43 | env: 44 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 45 | 46 | - name: Checkout 47 | uses: actions/checkout@v4 48 | 49 | - name: Build (arm) 50 | run: | 51 | source devkit/env.sh 52 | make package 53 | 54 | - name: Build (arm64) 55 | run: | 56 | source devkit/rootless.sh 57 | make package 58 | 59 | - name: Build (arm64e) 60 | run: | 61 | source devkit/roothide.sh 62 | make package 63 | 64 | - name: Collect dSYMs 65 | run: | 66 | find .theos/obj -name "*.dSYM" -exec cp -r {} ./packages/ \; 67 | VERSION=$(grep '^Version:' .theos/_/DEBIAN/control | awk '{print $2}') 68 | echo "VERSION=$VERSION" >> $GITHUB_ENV 69 | 70 | - name: Upload dSYMs 71 | uses: actions/upload-artifact@v4 72 | with: 73 | name: symbols-${{ env.VERSION }} 74 | path: | 75 | ./packages/*.dSYM 76 | 77 | - name: Upload Packages 78 | uses: actions/upload-artifact@v4 79 | with: 80 | name: packages-${{ env.VERSION }} 81 | path: | 82 | ./packages/*.deb 83 | 84 | - name: Release 85 | uses: softprops/action-gh-release@v2 86 | with: 87 | tag_name: v${{ env.VERSION }} 88 | draft: true 89 | prerelease: false 90 | files: | 91 | ./packages/*.deb 92 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cache 2 | .theos 3 | packages 4 | compile_commands.json 5 | /Artworks/IconDrawer 6 | 7 | # Created by https://www.toptal.com/developers/gitignore/api/swift,macos,xcode 8 | # Edit at https://www.toptal.com/developers/gitignore?templates=swift,macos,xcode 9 | 10 | ### macOS ### 11 | # General 12 | .DS_Store 13 | .AppleDouble 14 | .LSOverride 15 | 16 | # Icon must end with two \r 17 | Icon 18 | 19 | 20 | # Thumbnails 21 | ._* 22 | 23 | # Files that might appear in the root of a volume 24 | .DocumentRevisions-V100 25 | .fseventsd 26 | .Spotlight-V100 27 | .TemporaryItems 28 | .Trashes 29 | .VolumeIcon.icns 30 | .com.apple.timemachine.donotpresent 31 | 32 | # Directories potentially created on remote AFP share 33 | .AppleDB 34 | .AppleDesktop 35 | Network Trash Folder 36 | Temporary Items 37 | .apdisk 38 | 39 | ### macOS Patch ### 40 | # iCloud generated files 41 | *.icloud 42 | 43 | ### Swift ### 44 | # Xcode 45 | # 46 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 47 | 48 | ## User settings 49 | xcuserdata/ 50 | 51 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) 52 | *.xcscmblueprint 53 | *.xccheckout 54 | 55 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) 56 | build/ 57 | DerivedData/ 58 | *.moved-aside 59 | *.pbxuser 60 | !default.pbxuser 61 | *.mode1v3 62 | !default.mode1v3 63 | *.mode2v3 64 | !default.mode2v3 65 | *.perspectivev3 66 | !default.perspectivev3 67 | 68 | ## Obj-C/Swift specific 69 | *.hmap 70 | 71 | ## App packaging 72 | *.ipa 73 | *.dSYM.zip 74 | *.dSYM 75 | 76 | ## Playgrounds 77 | timeline.xctimeline 78 | playground.xcworkspace 79 | 80 | # Swift Package Manager 81 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 82 | # Packages/ 83 | # Package.pins 84 | # Package.resolved 85 | # *.xcodeproj 86 | # Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata 87 | # hence it is not needed unless you have added a package configuration file to your project 88 | # .swiftpm 89 | 90 | .build/ 91 | 92 | # CocoaPods 93 | # We recommend against adding the Pods directory to your .gitignore. However 94 | # you should judge for yourself, the pros and cons are mentioned at: 95 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 96 | # Pods/ 97 | # Add this line if you want to avoid checking in source code from the Xcode workspace 98 | # *.xcworkspace 99 | 100 | # Carthage 101 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 102 | # Carthage/Checkouts 103 | 104 | Carthage/Build/ 105 | 106 | # Accio dependency management 107 | Dependencies/ 108 | .accio/ 109 | 110 | # fastlane 111 | # It is recommended to not store the screenshots in the git repo. 112 | # Instead, use fastlane to re-generate the screenshots whenever they are needed. 113 | # For more information about the recommended setup visit: 114 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 115 | 116 | fastlane/report.xml 117 | fastlane/Preview.html 118 | fastlane/screenshots/**/*.png 119 | fastlane/test_output 120 | 121 | # Code Injection 122 | # After new code Injection tools there's a generated folder /iOSInjectionProject 123 | # https://github.com/johnno1962/injectionforxcode 124 | 125 | iOSInjectionProject/ 126 | 127 | ### Xcode ### 128 | 129 | ## Xcode 8 and earlier 130 | 131 | ### Xcode Patch ### 132 | *.xcodeproj/* 133 | !*.xcodeproj/project.pbxproj 134 | !*.xcodeproj/xcshareddata/ 135 | !*.xcodeproj/project.xcworkspace/ 136 | !*.xcworkspace/contents.xcworkspacedata 137 | /*.gcno 138 | **/xcshareddata/WorkspaceSettings.xcsettings 139 | 140 | # End of https://www.toptal.com/developers/gitignore/api/swift,macos,xcode 141 | n -------------------------------------------------------------------------------- /Artworks/AppIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OwnGoalStudio/IconRestore/5275c45bac8b3c384fccda4b3751c62666427133/Artworks/AppIcon.png -------------------------------------------------------------------------------- /Artworks/HavocMarketing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OwnGoalStudio/IconRestore/5275c45bac8b3c384fccda4b3751c62666427133/Artworks/HavocMarketing.png -------------------------------------------------------------------------------- /Artworks/IconDrawer.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IconDrawer.swift 3 | // TRApp 4 | // 5 | // Created by 秋星桥 on 2024/3/6. 6 | // 7 | 8 | // swiftc -parse-as-library IconDrawer.swift 9 | // ./IconDrawer 10 | 11 | import QuickLook 12 | import SwiftUI 13 | 14 | @main 15 | struct DemoApp: App { 16 | var body: some Scene { 17 | WindowGroup { 18 | ContentView() 19 | } 20 | .windowResizability(.contentSize) 21 | } 22 | } 23 | 24 | let previewSize = CGSize(width: 1024, height: 1024) 25 | let symbolWidth: CGFloat = 600 26 | 27 | struct ContentView: View { 28 | var body: some View { 29 | PreviewExporter() 30 | .scaleEffect(.init(width: 0.5, height: 0.5)) 31 | .frame(width: previewSize.width / 2, height: previewSize.height / 2, alignment: .center) 32 | } 33 | } 34 | 35 | struct PreviewWaveformView: View { 36 | let waveWidth: CGFloat = 32 37 | let waveHeight: CGFloat = symbolWidth 38 | let waveSpacing: CGFloat = 32 39 | 40 | struct Waves: Identifiable, Equatable { 41 | var id: UUID = .init() 42 | var height: CGFloat 43 | } 44 | 45 | let waves: [Waves] 46 | 47 | init() { 48 | var builder = [Waves]() 49 | let targetCount = 128 50 | while builder.count < targetCount { 51 | builder.append(.init(height: .random(in: 0.2 ... 1.0))) 52 | } 53 | while builder.count > targetCount { 54 | builder.removeLast() 55 | } 56 | waves = builder 57 | } 58 | 59 | var body: some View { 60 | HStack(alignment: .center, spacing: waveSpacing) { 61 | ForEach(waves) { wave in 62 | RoundedRectangle(cornerRadius: waveWidth / 2) 63 | .frame(width: waveWidth, height: waveHeight * wave.height) 64 | .animation(.spring, value: wave.height) 65 | } 66 | } 67 | .frame(maxHeight: .infinity) 68 | .padding(-8) 69 | } 70 | } 71 | 72 | struct PreviewBannerView: View { 73 | var body: some View { 74 | ZStack { 75 | Image(systemName: "apps.iphone") 76 | .resizable() 77 | .aspectRatio(contentMode: .fit) 78 | .frame(width: symbolWidth, height: symbolWidth) 79 | .font(.system(size: symbolWidth, weight: .regular, design: .rounded)) 80 | .opacity(0.88) 81 | .padding(72) 82 | } 83 | .foregroundStyle(.white) 84 | .frame(maxWidth: .infinity, maxHeight: .infinity) 85 | .padding(50) 86 | .background { 87 | LinearGradient( 88 | gradient: Gradient(colors: [ 89 | // #239eab, #74deee 90 | .init(red: 35 / 255, green: 158 / 255, blue: 171 / 255), 91 | .init(red: 116 / 255, green: 222 / 255, blue: 238 / 255), 92 | ]), 93 | startPoint: .top, 94 | endPoint: .bottom 95 | ) 96 | .ignoresSafeArea() 97 | } 98 | .frame(width: previewSize.width, height: previewSize.height, alignment: .center) 99 | .clipped() 100 | } 101 | } 102 | 103 | struct PreviewExporter: View { 104 | var body: some View { 105 | VStack { 106 | PreviewBannerView() 107 | .onTapGesture { 108 | let renderer = ImageRenderer(content: PreviewBannerView()) 109 | let data = renderer.nsImage!.tiffRepresentation! 110 | let url = URL(fileURLWithPath: NSTemporaryDirectory()) 111 | .appendingPathComponent("AppIcon") 112 | .appendingPathExtension("tiff") 113 | try! data.write(to: url) 114 | NSWorkspace.shared.open(url) 115 | } 116 | } 117 | } 118 | } 119 | -------------------------------------------------------------------------------- /IconRestore.plist: -------------------------------------------------------------------------------- 1 | { Filter = { Bundles = ( "com.apple.springboard" ); }; } 2 | -------------------------------------------------------------------------------- /IconRestore.x: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | #import 5 | 6 | @protocol SBIconModelStore 7 | @end 8 | 9 | @interface SBIconModelPropertyListFileStore : NSObject 10 | @property (nonatomic, assign) BOOL ir_disableSave; 11 | @end 12 | 13 | @interface SBIconModelMemoryStore : NSObject 14 | - (void)setDesiredState:(NSDictionary *)arg1; 15 | @end 16 | 17 | @interface SBIconModelReadOnlyMemoryStore : SBIconModelMemoryStore 18 | @end 19 | 20 | @interface SBHIconModel : NSObject 21 | @property (nonatomic, strong) NSTimer *autosaveTimer; 22 | @property (nonatomic, strong, readonly) id store; 23 | - (void)importIconState:(NSDictionary *)arg1; 24 | - (void)importDesiredIconState:(NSDictionary *)arg1; 25 | - (void)markIconStateDirty; 26 | - (void)markIconStateClean; 27 | - (void)reloadIcons; 28 | - (void)layout; 29 | - (void)clearDesiredIconState; 30 | - (void)_saveIconState; 31 | - (BOOL)_saveIconState:(NSDictionary *)arg1 error:(NSError * __autoreleasing *)arg2; 32 | - (void)autosaveTimerDidFire:(id)arg1; 33 | @end 34 | 35 | @interface SBHIconModel (IconRestore) 36 | @property (nonatomic, assign) BOOL ir_disableSave; 37 | @end 38 | 39 | static NSMutableArray *_globalIconModels = nil; 40 | static NSMutableArray *_globalFileStores = nil; 41 | 42 | %group IconRestoreSpringBoard 43 | 44 | %hook SBHIconModel 45 | 46 | %property (nonatomic, assign) BOOL ir_disableSave; 47 | 48 | - (id)initWithStore:(id)arg1 { 49 | SBHIconModel *iconModel = %orig; 50 | if (iconModel) { 51 | iconModel.ir_disableSave = NO; 52 | [_globalIconModels addObject:iconModel]; 53 | } 54 | return iconModel; 55 | } 56 | 57 | // iOS 15 58 | - (id)initWithStore:(id)arg1 applicationDataSource:(id)arg2 { 59 | SBHIconModel *iconModel = %orig; 60 | if (iconModel) { 61 | iconModel.ir_disableSave = NO; 62 | [_globalIconModels addObject:iconModel]; 63 | } 64 | return iconModel; 65 | } 66 | 67 | - (void)_saveIconState { 68 | if (self.ir_disableSave) { 69 | HBLogDebug(@"Skip saving icon layout"); 70 | return; 71 | } 72 | %orig; 73 | } 74 | 75 | // iOS 14.4+ 76 | - (BOOL)_saveIconStateWithError:(NSError * __autoreleasing *)arg1 { 77 | if (self.ir_disableSave) { 78 | HBLogDebug(@"Skip saving icon layout"); 79 | return YES; 80 | } 81 | return %orig; 82 | } 83 | 84 | // iOS 15.2+ 85 | - (BOOL)_saveIconState:(NSDictionary *)arg1 error:(NSError * __autoreleasing *)arg2 { 86 | if (self.ir_disableSave) { 87 | HBLogDebug(@"Skip saving icon layout"); 88 | return YES; 89 | } 90 | return %orig; 91 | } 92 | 93 | - (void)autosaveTimerDidFire:(id)arg1 { 94 | if (self.ir_disableSave) { 95 | HBLogDebug(@"Skip saving icon layout"); 96 | return; 97 | } 98 | %orig; 99 | } 100 | 101 | %end 102 | 103 | %hook SBIconModelPropertyListFileStore 104 | 105 | %property (nonatomic, assign) BOOL ir_disableSave; 106 | 107 | - (id)init { 108 | SBIconModelPropertyListFileStore *fileStore = %orig; 109 | if (fileStore) { 110 | fileStore.ir_disableSave = NO; 111 | [_globalFileStores addObject:fileStore]; 112 | } 113 | return fileStore; 114 | } 115 | 116 | - (id)initWithIconStateURL:(id)arg1 desiredIconStateURL:(id)arg2 { 117 | SBIconModelPropertyListFileStore *fileStore = %orig; 118 | if (fileStore) { 119 | fileStore.ir_disableSave = NO; 120 | [_globalFileStores addObject:fileStore]; 121 | } 122 | return fileStore; 123 | } 124 | 125 | - (BOOL)saveCurrentIconState:(id)arg1 error:(id*)arg2 { 126 | if (self.ir_disableSave) { 127 | HBLogDebug(@"Skip saving icon layout"); 128 | return YES; 129 | } 130 | return %orig; 131 | } 132 | 133 | - (BOOL)_save:(id)arg1 url:(id)arg2 error:(id*)arg3 { 134 | if (self.ir_disableSave) { 135 | HBLogDebug(@"Skip saving icon layout"); 136 | return YES; 137 | } 138 | return %orig; 139 | } 140 | 141 | %end 142 | 143 | %end 144 | 145 | %ctor { 146 | NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier]; 147 | if ([bundleIdentifier isEqualToString:@"com.apple.springboard"]) { 148 | %init(IconRestoreSpringBoard); 149 | int triggerToken = 0; 150 | notify_register_dispatch("com.82flex.iconrestoreprefs/save-layout", &triggerToken, dispatch_get_main_queue(), ^(int token) { 151 | for (SBHIconModel *iconModel in _globalIconModels) { 152 | if ([iconModel respondsToSelector:@selector(autosaveTimerDidFire:)]) { 153 | [iconModel autosaveTimerDidFire:iconModel.autosaveTimer]; 154 | HBLogDebug(@"Force saving icon layout"); 155 | } 156 | } 157 | }); 158 | int forbiddenToken = 0; 159 | notify_register_dispatch("com.82flex.iconrestoreprefs/will-respring", &forbiddenToken, dispatch_get_main_queue(), ^(int token) { 160 | for (SBHIconModel *iconModel in _globalIconModels) { 161 | iconModel.ir_disableSave = YES; 162 | } 163 | for (SBIconModelPropertyListFileStore *fileStore in _globalFileStores) { 164 | fileStore.ir_disableSave = YES; 165 | } 166 | HBLogDebug(@"Disable saving icon layout"); 167 | }); 168 | } 169 | } -------------------------------------------------------------------------------- /IconRestorePrefs/IconRestoreRootListController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface PSEditableListController : PSListController 4 | @end 5 | 6 | @interface IconRestoreRootListController : PSEditableListController 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /IconRestorePrefs/IconRestoreRootListController.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | #import 5 | #import 6 | #import 7 | 8 | #import "IconRestoreRootListController.h" 9 | 10 | void IconRestoreEnumerateProcessesUsingBlock(void (^enumerator)(pid_t pid, NSString *executablePath, BOOL *stop)) { 11 | static int kMaximumArgumentSize = 0; 12 | static dispatch_once_t onceToken; 13 | dispatch_once(&onceToken, ^{ 14 | size_t valSize = sizeof(kMaximumArgumentSize); 15 | if (sysctl((int[]){CTL_KERN, KERN_ARGMAX}, 2, &kMaximumArgumentSize, &valSize, NULL, 0) < 0) { 16 | perror("sysctl argument size"); 17 | kMaximumArgumentSize = 4096; 18 | } 19 | }); 20 | 21 | size_t procInfoLength = 0; 22 | if (sysctl((int[]){CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0}, 3, NULL, &procInfoLength, NULL, 0) < 0) { 23 | return; 24 | } 25 | 26 | static struct kinfo_proc *procInfo = NULL; 27 | procInfo = (struct kinfo_proc *)realloc(procInfo, procInfoLength + 1); 28 | if (!procInfo) { 29 | return; 30 | } 31 | 32 | bzero(procInfo, procInfoLength + 1); 33 | if (sysctl((int[]){CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0}, 3, procInfo, &procInfoLength, NULL, 0) < 0) { 34 | return; 35 | } 36 | 37 | static char *argBuffer = NULL; 38 | int procInfoCnt = (int)(procInfoLength / sizeof(struct kinfo_proc)); 39 | for (int i = 0; i < procInfoCnt; i++) { 40 | 41 | pid_t pid = procInfo[i].kp_proc.p_pid; 42 | if (pid <= 1) { 43 | continue; 44 | } 45 | 46 | size_t argSize = kMaximumArgumentSize; 47 | if (sysctl((int[]){CTL_KERN, KERN_PROCARGS2, pid, 0}, 3, NULL, &argSize, NULL, 0) < 0) { 48 | continue; 49 | } 50 | 51 | argBuffer = (char *)realloc(argBuffer, argSize + 1); 52 | if (!argBuffer) { 53 | continue; 54 | } 55 | 56 | bzero(argBuffer, argSize + 1); 57 | if (sysctl((int[]){CTL_KERN, KERN_PROCARGS2, pid, 0}, 3, argBuffer, &argSize, NULL, 0) < 0) { 58 | continue; 59 | } 60 | 61 | BOOL stop = NO; 62 | @autoreleasepool { 63 | enumerator(pid, [NSString stringWithUTF8String:(argBuffer + sizeof(int))], &stop); 64 | } 65 | 66 | if (stop) { 67 | break; 68 | } 69 | } 70 | } 71 | 72 | void IconRestoreKillAll(NSString *processName, BOOL softly) { 73 | IconRestoreEnumerateProcessesUsingBlock(^(pid_t pid, NSString *executablePath, BOOL *stop) { 74 | if ([executablePath.lastPathComponent isEqualToString:processName]) { 75 | if (softly) { 76 | kill(pid, SIGTERM); 77 | } else { 78 | kill(pid, SIGKILL); 79 | } 80 | } 81 | }); 82 | } 83 | 84 | void IconRestoreBatchKillAll(NSArray *processNames, BOOL softly) { 85 | IconRestoreEnumerateProcessesUsingBlock(^(pid_t pid, NSString *executablePath, BOOL *stop) { 86 | if ([processNames containsObject:executablePath.lastPathComponent]) { 87 | if (softly) { 88 | kill(pid, SIGTERM); 89 | } else { 90 | kill(pid, SIGKILL); 91 | } 92 | } 93 | }); 94 | } 95 | 96 | @interface LSPlugInKitProxy : NSObject 97 | @property(nonatomic, readonly, copy) NSString *pluginIdentifier; 98 | @end 99 | 100 | @interface LSApplicationProxy : NSObject 101 | @property(nonatomic, readonly) NSArray *plugInKitPlugins; 102 | + (LSApplicationProxy *)applicationProxyForIdentifier:(NSString *)bundleIdentifier; 103 | @end 104 | 105 | @implementation IconRestoreRootListController { 106 | NSArray *_savepoints; 107 | PSSpecifier *_savepointsGroupSpecifier; 108 | NSString *_cachedSelectedSavepoint; 109 | NSString *_iconStatePath; 110 | } 111 | 112 | - (void)viewDidLoad { 113 | [super viewDidLoad]; 114 | #ifdef IPHONE_SIMULATOR_ROOT 115 | _iconStatePath = @IPHONE_SIMULATOR_ROOT "/var/mobile/Library/SpringBoard/IconState.plist"; 116 | #else 117 | _iconStatePath = @"/var/mobile/Library/SpringBoard/IconState.plist"; 118 | #endif 119 | [self notifyTweakToSaveLayout]; 120 | [[NSNotificationCenter defaultCenter] addObserver:self 121 | selector:@selector(didBecomeActive:) 122 | name:UIApplicationDidBecomeActiveNotification 123 | object:nil]; 124 | } 125 | 126 | - (void)didBecomeActive:(NSNotification *)notification { 127 | [self notifyTweakToSaveLayout]; 128 | } 129 | 130 | - (void)notifyTweakToSaveLayout { 131 | notify_post("com.82flex.iconrestoreprefs/save-layout"); 132 | } 133 | 134 | - (NSArray *)specifiers { 135 | if (!_specifiers) { 136 | NSArray *specs = [self loadSpecifiersFromPlistName:@"Root" target:self]; 137 | NSMutableArray *mutableSpecs = [NSMutableArray arrayWithArray:specs]; 138 | NSInteger insertIndex = 0; 139 | for (PSSpecifier *specifier in mutableSpecs) { 140 | insertIndex++; 141 | NSString *specKey = [specifier propertyForKey:@"key"]; 142 | if ([specKey isEqualToString:@"__savepoints__"]) { 143 | _savepointsGroupSpecifier = specifier; 144 | break; 145 | } 146 | } 147 | NSMutableArray *savepointSpecifiers = [NSMutableArray array]; 148 | [self readSavepoints]; 149 | for (NSDictionary *savepoint in _savepoints) { 150 | PSSpecifier *specifier = [self _specifierForSavepoint:savepoint]; 151 | [savepointSpecifiers addObject:specifier]; 152 | } 153 | [mutableSpecs 154 | insertObjects:savepointSpecifiers 155 | atIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(insertIndex, savepointSpecifiers.count)]]; 156 | _specifiers = mutableSpecs; 157 | _cachedSelectedSavepoint = [self selectedSavepoint]; 158 | } 159 | return _specifiers; 160 | } 161 | 162 | - (void)saveCurrentLayout { 163 | UIAlertController *alert = [UIAlertController 164 | alertControllerWithTitle:NSLocalizedStringFromTableInBundle(@"Create New Layout", @"Root", self.bundle, nil) 165 | message:NSLocalizedStringFromTableInBundle(@"Enter a name for this layout, or leave it blank.", 166 | @"Root", self.bundle, nil) 167 | preferredStyle:UIAlertControllerStyleAlert]; 168 | [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) { 169 | textField.placeholder = NSLocalizedStringFromTableInBundle(@"Layout Name", @"Root", self.bundle, nil); 170 | }]; 171 | [alert addAction:[UIAlertAction 172 | actionWithTitle:NSLocalizedStringFromTableInBundle(@"Cancel", @"Root", self.bundle, nil) 173 | style:UIAlertActionStyleCancel 174 | handler:nil]]; 175 | [alert 176 | addAction:[UIAlertAction actionWithTitle:NSLocalizedStringFromTableInBundle(@"Save", @"Root", self.bundle, nil) 177 | style:UIAlertActionStyleDefault 178 | handler:^(UIAlertAction *action) { 179 | NSString *alias = alert.textFields.firstObject.text; 180 | [self saveCurrentLayoutWithAlias:alias]; 181 | }]]; 182 | [self presentViewController:alert animated:YES completion:nil]; 183 | } 184 | 185 | - (void)saveCurrentLayoutWithAlias:(NSString *)alias { 186 | NSData *iconStateData = [NSData dataWithContentsOfFile:_iconStatePath]; 187 | if (!iconStateData) { 188 | return; 189 | } 190 | NSMutableDictionary *newSavepoint = [@{ 191 | @"created" : @(NSDate.date.timeIntervalSince1970), 192 | @"payload" : iconStateData, 193 | @"uuid" : NSUUID.UUID.UUIDString, 194 | } mutableCopy]; 195 | if (alias.length) { 196 | newSavepoint[@"alias"] = alias; 197 | } 198 | NSMutableArray *savepoints = [NSMutableArray arrayWithArray:_savepoints]; 199 | [savepoints insertObject:newSavepoint atIndex:0]; 200 | _savepoints = savepoints; 201 | [self writeSavepoints]; 202 | if (_cachedSelectedSavepoint) { 203 | NSArray *allSpecifiers = [self specifiersInGroup:1]; 204 | for (PSSpecifier *specifier in allSpecifiers) { 205 | NSString *key = [specifier propertyForKey:@"key"]; 206 | NSString *uuid = [key componentsSeparatedByString:@"."].lastObject; 207 | if ([uuid isEqualToString:_cachedSelectedSavepoint]) { 208 | [self reloadSpecifier:specifier animated:YES]; 209 | break; 210 | } 211 | } 212 | } 213 | [self selectSavepoint:newSavepoint[@"uuid"]]; 214 | PSSpecifier *newSpecifier = [self _specifierForSavepoint:newSavepoint]; 215 | [self insertSpecifier:newSpecifier afterSpecifier:_savepointsGroupSpecifier animated:YES]; 216 | } 217 | 218 | - (void)removedSpecifier:(PSSpecifier *)specifier { 219 | NSString *key = [specifier propertyForKey:@"key"]; 220 | NSString *uuid = [key componentsSeparatedByString:@"."].lastObject; 221 | NSMutableArray *savepoints = [NSMutableArray arrayWithArray:_savepoints]; 222 | [savepoints 223 | filterUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(NSDictionary *savepoint, NSDictionary *bindings) { 224 | return ![savepoint[@"uuid"] isEqualToString:uuid]; 225 | }]]; 226 | _savepoints = savepoints; 227 | [self writeSavepoints]; 228 | [self readSavepoints]; 229 | } 230 | 231 | - (id)valueForSpecifier:(PSSpecifier *)specifier { 232 | #if DEBUG 233 | return [specifier propertyForKey:@"value"]; 234 | #else 235 | return nil; 236 | #endif 237 | } 238 | 239 | - (PSSpecifier *)_specifierForSavepoint:(NSDictionary *)savepoint { 240 | NSString *key = [NSString stringWithFormat:@"savepoint.%@", savepoint[@"uuid"]]; 241 | NSString *value = [savepoint[@"uuid"] substringToIndex:6]; 242 | NSDate *created = [NSDate dateWithTimeIntervalSince1970:[savepoint[@"created"] doubleValue]]; 243 | static NSDateFormatter *dateFormatter = nil; 244 | if (!dateFormatter) { 245 | dateFormatter = [[NSDateFormatter alloc] init]; 246 | dateFormatter.dateStyle = NSDateFormatterMediumStyle; 247 | dateFormatter.timeStyle = NSDateFormatterMediumStyle; 248 | } 249 | NSString *dateString = [dateFormatter stringFromDate:created]; 250 | NSString *alias = savepoint[@"alias"]; 251 | NSString *displayName = alias ?: dateString; 252 | PSSpecifier *specifier = [PSSpecifier preferenceSpecifierNamed:displayName 253 | target:self 254 | set:nil 255 | get:@selector(valueForSpecifier:) 256 | detail:nil 257 | cell:PSTitleValueCell 258 | edit:nil]; 259 | [specifier setProperty:key forKey:@"key"]; 260 | [specifier setProperty:value forKey:@"value"]; 261 | [specifier setProperty:@"com.82flex.iconrestoreprefs" forKey:@"defaults"]; 262 | [specifier setProperty:NSStringFromSelector(@selector(removedSpecifier:)) forKey:PSDeletionActionKey]; 263 | return specifier; 264 | } 265 | 266 | - (PSSpecifier *)_selectedSavepointSpecifier { 267 | static PSSpecifier *stubSpecifier = nil; 268 | if (!stubSpecifier) { 269 | stubSpecifier = [PSSpecifier preferenceSpecifierNamed:@"Selected Savepoint" 270 | target:self 271 | set:@selector(setPreferenceValue:specifier:) 272 | get:@selector(readPreferenceValue:) 273 | detail:nil 274 | cell:PSLinkListCell 275 | edit:nil]; 276 | [stubSpecifier setProperty:@"SelectedSavepoint" forKey:@"key"]; 277 | [stubSpecifier setProperty:@"com.82flex.iconrestoreprefs" forKey:@"defaults"]; 278 | } 279 | return stubSpecifier; 280 | } 281 | 282 | - (PSSpecifier *)_savepointsSpecifier { 283 | static PSSpecifier *stubSpecifier = nil; 284 | if (!stubSpecifier) { 285 | stubSpecifier = [PSSpecifier preferenceSpecifierNamed:@"All Layouts" 286 | target:self 287 | set:@selector(setPreferenceValue:specifier:) 288 | get:@selector(readPreferenceValue:) 289 | detail:nil 290 | cell:PSLinkListCell 291 | edit:nil]; 292 | [stubSpecifier setProperty:@"All Layouts" forKey:@"key"]; 293 | [stubSpecifier setProperty:@"com.82flex.iconrestoreprefs" forKey:@"defaults"]; 294 | } 295 | return stubSpecifier; 296 | } 297 | 298 | - (void)readSavepoints { 299 | _savepoints = [super readPreferenceValue:[self _savepointsSpecifier]]; 300 | } 301 | 302 | - (void)writeSavepoints { 303 | [super setPreferenceValue:(_savepoints ?: @[]) specifier:[self _savepointsSpecifier]]; 304 | } 305 | 306 | - (NSString *)selectedSavepoint { 307 | return [super readPreferenceValue:[self _selectedSavepointSpecifier]]; 308 | } 309 | 310 | - (void)tableView:(UITableView *)tableView 311 | selectSavepoint:(PSSpecifier *)specifier 312 | atIndexPath:(NSIndexPath *)indexPath { 313 | NSString *key = [specifier propertyForKey:@"key"]; 314 | NSString *uuid = [key componentsSeparatedByString:@"."].lastObject; 315 | if (_cachedSelectedSavepoint && [uuid isEqualToString:_cachedSelectedSavepoint]) { 316 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; 317 | return; 318 | } 319 | UIAlertController *alert = [UIAlertController 320 | alertControllerWithTitle:NSLocalizedStringFromTableInBundle(@"Restore Layout", @"Root", self.bundle, nil) 321 | message:NSLocalizedStringFromTableInBundle( 322 | @"Are you sure you want to restore to this icon layout?", @"Root", 323 | self.bundle, nil) 324 | preferredStyle:UIAlertControllerStyleAlert]; 325 | [alert addAction:[UIAlertAction 326 | actionWithTitle:NSLocalizedStringFromTableInBundle(@"Cancel", @"Root", self.bundle, nil) 327 | style:UIAlertActionStyleCancel 328 | handler:^(UIAlertAction *action) { 329 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; 330 | }]]; 331 | [alert 332 | addAction:[UIAlertAction actionWithTitle:NSLocalizedStringFromTableInBundle(@"Apply", @"Root", self.bundle, nil) 333 | style:UIAlertActionStyleDefault 334 | handler:^(UIAlertAction *action) { 335 | [tableView deselectRowAtIndexPath:indexPath animated:YES]; 336 | [self applySavepoint:uuid]; 337 | }]]; 338 | [self presentViewController:alert animated:YES completion:nil]; 339 | } 340 | 341 | - (void)applySavepoint:(NSString *)uuid { 342 | BOOL saved = [self selectSavepoint:uuid]; 343 | if (!saved) { 344 | return; 345 | } 346 | BOOL applied = [self _applySelectedSavepoint]; 347 | if (applied) { 348 | [self respring]; 349 | } 350 | } 351 | 352 | - (BOOL)selectSavepoint:(NSString *)uuid { 353 | BOOL saved = [self _saveSelectedSavepoint]; 354 | if (!saved) { 355 | return NO; 356 | } 357 | [super setPreferenceValue:uuid specifier:[self _selectedSavepointSpecifier]]; 358 | _cachedSelectedSavepoint = uuid; 359 | return YES; 360 | } 361 | 362 | - (BOOL)_saveSelectedSavepoint { 363 | NSString *uuid = [self selectedSavepoint]; 364 | if (!uuid) { 365 | return YES; 366 | } 367 | NSInteger replaceIndex = NSNotFound; 368 | NSInteger index = 0; 369 | for (NSDictionary *savepoint in _savepoints) { 370 | if ([savepoint[@"uuid"] isEqualToString:uuid]) { 371 | replaceIndex = index; 372 | break; 373 | } 374 | index++; 375 | } 376 | if (replaceIndex == NSNotFound) { 377 | return YES; 378 | } 379 | NSData *iconStateData = [NSData dataWithContentsOfFile:_iconStatePath]; 380 | if (!iconStateData) { 381 | return NO; 382 | } 383 | NSMutableDictionary *savepoint = [NSMutableDictionary dictionaryWithDictionary:_savepoints[replaceIndex]]; 384 | savepoint[@"payload"] = iconStateData; 385 | NSMutableArray *savepoints = [NSMutableArray arrayWithArray:_savepoints]; 386 | [savepoints replaceObjectAtIndex:replaceIndex withObject:savepoint]; 387 | _savepoints = savepoints; 388 | [self writeSavepoints]; 389 | return YES; 390 | } 391 | 392 | - (BOOL)_applySelectedSavepoint { 393 | NSString *uuid = [self selectedSavepoint]; 394 | if (!uuid) { 395 | return NO; 396 | } 397 | NSDictionary *savepoint = 398 | [_savepoints filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"uuid = %@", uuid]].firstObject; 399 | if (!savepoint) { 400 | return NO; 401 | } 402 | NSData *iconStateData = savepoint[@"payload"]; 403 | if (!iconStateData) { 404 | return NO; 405 | } 406 | BOOL wrote = [iconStateData writeToFile:_iconStatePath atomically:YES]; 407 | if (!wrote) { 408 | return NO; 409 | } 410 | return YES; 411 | } 412 | 413 | - (void)respring { 414 | notify_post("com.82flex.iconrestoreprefs/will-respring"); 415 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 416 | [self reloadSpecifiers]; 417 | IconRestoreBatchKillAll(@[ @"SpringBoard" ], YES); 418 | }); 419 | } 420 | 421 | - (void)support { 422 | NSURL *url = [NSURL URLWithString:@"https://havoc.app/search/82Flex"]; 423 | if ([[UIApplication sharedApplication] canOpenURL:url]) { 424 | [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]; 425 | } 426 | } 427 | 428 | #pragma mark - Table View 429 | 430 | - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView 431 | editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 432 | if (indexPath.section == 1) { 433 | return UITableViewCellEditingStyleDelete; 434 | } 435 | return UITableViewCellEditingStyleNone; 436 | } 437 | 438 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 439 | if (indexPath.section == 1) { 440 | UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]; 441 | cell.selectionStyle = UITableViewCellSelectionStyleDefault; 442 | PSSpecifier *specifier = [self specifierAtIndexPath:indexPath]; 443 | NSString *key = [specifier propertyForKey:@"key"]; 444 | NSString *uuid = [key componentsSeparatedByString:@"."].lastObject; 445 | if (_cachedSelectedSavepoint && [uuid isEqualToString:_cachedSelectedSavepoint]) { 446 | cell.accessoryType = UITableViewCellAccessoryCheckmark; 447 | } else { 448 | cell.accessoryType = UITableViewCellAccessoryNone; 449 | } 450 | return cell; 451 | } 452 | return [super tableView:tableView cellForRowAtIndexPath:indexPath]; 453 | } 454 | 455 | - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 456 | if (indexPath.section == 1) { 457 | PSSpecifier *specifier = [self specifierAtIndexPath:indexPath]; 458 | [self tableView:tableView selectSavepoint:specifier atIndexPath:indexPath]; 459 | return; 460 | } 461 | [super tableView:tableView didSelectRowAtIndexPath:indexPath]; 462 | } 463 | 464 | @end 465 | -------------------------------------------------------------------------------- /IconRestorePrefs/Library/_Simulator/Preferences.framework/Preferences.tbd: -------------------------------------------------------------------------------- 1 | --- !tapi-tbd-v3 2 | archs: [ x86_64, arm64 ] 3 | platform: ios 4 | flags: [ flat_namespace ] 5 | install-name: /System/Library/PrivateFrameworks/Preferences.framework/Preferences 6 | current-version: 0 7 | compatibility-version: 0 8 | objc-constraint: retain_release 9 | exports: 10 | - archs: [ x86_64, arm64 ] 11 | symbols: [ _ACMContextAddCredential, 12 | _ACMContextAddCredentialWithScope, 13 | _ACMContextContainsCredentialType, 14 | _ACMContextContainsCredentialTypeEx, 15 | _ACMContextContainsPassphraseCredentialWithPurpose, 16 | _ACMContextCreate, _ACMContextCreateWithExternalForm, 17 | _ACMContextCredentialGetProperty, _ACMContextDelete, 18 | _ACMContextGetData, _ACMContextGetDataEx, 19 | _ACMContextGetDataProperty, 20 | _ACMContextGetExternalForm, _ACMContextGetInfo, 21 | _ACMContextGetTrackingNumber, 22 | _ACMContextRemoveCredentialsByType, 23 | _ACMContextRemoveCredentialsByTypeAndScope, 24 | _ACMContextRemoveCredentialsByValue, 25 | _ACMContextRemoveCredentialsByValueAndScope, 26 | _ACMContextRemovePassphraseCredentialsByPurposeAndScope, 27 | _ACMContextReplacePassphraseCredentialsWithScope, 28 | _ACMContextSetData, _ACMContextSetDataEx, 29 | _ACMContextVerifyAclConstraint, 30 | _ACMContextVerifyAclConstraintForOperation, 31 | _ACMContextVerifyPolicy, _ACMContextVerifyPolicyEx, 32 | _ACMContextVerifyPolicyWithPreflight, 33 | _ACMCredentialCreate, _ACMCredentialDelete, 34 | _ACMCredentialGetProperty, 35 | _ACMCredentialGetPropertyData, _ACMCredentialGetType, 36 | _ACMCredentialSetProperty, _ACMGetAclAuthMethod, 37 | _ACMGetEnvironmentVariable, 38 | _ACMGlobalContextAddCredential, 39 | _ACMGlobalContextCredentialGetProperty, 40 | _ACMGlobalContextRemoveCredentialsByType, 41 | _ACMGlobalContextVerifyPolicy, _ACMKernelControl, 42 | _ACMParseAclAndCopyConstraintCharacteristics, 43 | _ACMPing, _ACMRequirementGetPriority, 44 | _ACMRequirementGetProperties, 45 | _ACMRequirementGetProperty, 46 | _ACMRequirementGetPropertyData, 47 | _ACMRequirementGetState, 48 | _ACMRequirementGetSubrequirements, 49 | _ACMRequirementGetType, _ACMSetEnvironmentVariable, 50 | _ACMSetEnvironmentVariableWithAccessPolicy, 51 | _CompareCredentials, _CopyCredential, 52 | _CreateDetailControllerInstanceWithClass, 53 | _CreateRangeTimeLabel, _CreateRangeTitleLabel, 54 | _DeallocCredentialList, _DeserializeAddCredential, 55 | _DeserializeAddCredentialType, 56 | _DeserializeCredential, _DeserializeCredentialList, 57 | _DeserializeGetContextProperty, 58 | _DeserializeProcessAcl, _DeserializeRemoveCredential, 59 | _DeserializeReplacePassphraseCredential, 60 | _DeserializeRequirement, 61 | _DeserializeVerifyAclConstraint, 62 | _DeserializeVerifyPolicy, _DeviceName, _FilePathKey, 63 | _GetSerializedAddCredentialSize, 64 | _GetSerializedCredentialSize, 65 | _GetSerializedGetContextPropertySize, 66 | _GetSerializedProcessAclSize, 67 | _GetSerializedRemoveCredentialSize, 68 | _GetSerializedReplacePassphraseCredentialSize, 69 | _GetSerializedRequirementSize, 70 | _GetSerializedVerifyAclConstraintSize, 71 | _GetSerializedVerifyPolicySize, 72 | _IsRegulatoryImageFromLockdown, 73 | _LibCall_ACMContexAddCredentialWithScope, 74 | _LibCall_ACMContexRemoveCredentialsByTypeAndScope, 75 | _LibCall_ACMContextCreate, 76 | _LibCall_ACMContextCreateWithExternalForm, 77 | _LibCall_ACMContextCredentialGetProperty, 78 | _LibCall_ACMContextDelete, 79 | _LibCall_ACMContextGetData, 80 | _LibCall_ACMContextGetInfo, 81 | _LibCall_ACMContextLoadFromImage, 82 | _LibCall_ACMContextRemoveCredentialsByValueAndScope, 83 | _LibCall_ACMContextSetData, 84 | _LibCall_ACMContextUnloadToImage, 85 | _LibCall_ACMContextUnloadToImage_Block, 86 | _LibCall_ACMContextVerifyAclConstraint, 87 | _LibCall_ACMContextVerifyAclConstraintForOperation, 88 | _LibCall_ACMContextVerifyPolicyAndCopyRequirementEx, 89 | _LibCall_ACMContextVerifyPolicyEx, 90 | _LibCall_ACMContextVerifyPolicyEx_Block, 91 | _LibCall_ACMContextVerifyPolicyWithPreflight_Block, 92 | _LibCall_ACMContextVerifyPolicy_Block, 93 | _LibCall_ACMCredentialCreate, 94 | _LibCall_ACMCredentialDelete, 95 | _LibCall_ACMCredentialGetPropertyData, 96 | _LibCall_ACMCredentialGetType, 97 | _LibCall_ACMCredentialSetProperty, 98 | _LibCall_ACMGetAclAuthMethod_Block, 99 | _LibCall_ACMGetEnvironmentVariable, 100 | _LibCall_ACMGetEnvironmentVariable_Block, 101 | _LibCall_ACMGlobalContextCredentialGetProperty, 102 | _LibCall_ACMGlobalContextCredentialGetProperty_Block, 103 | _LibCall_ACMGlobalContextVerifyPolicyEx, 104 | _LibCall_ACMGlobalContextVerifyPolicy_Block, 105 | _LibCall_ACMKernDoubleClickNotify, 106 | _LibCall_ACMKernelControl, 107 | _LibCall_ACMKernelControl_Block, _LibCall_ACMPing, 108 | _LibCall_ACMPublishTrustedAccessories, 109 | _LibCall_ACMRequirementDelete, 110 | _LibCall_ACMRequirementGetPriority, 111 | _LibCall_ACMRequirementGetPropertyData, 112 | _LibCall_ACMRequirementGetState, 113 | _LibCall_ACMRequirementGetType, 114 | _LibCall_ACMSecContextProcessAcl, 115 | _LibCall_ACMSecContextProcessAclAndCopyAuthMethod, 116 | _LibCall_ACMSecContextVerifyAclConstraintAndCopyRequirement, 117 | _LibCall_ACMSecSetBiometryAvailability, 118 | _LibCall_ACMSecSetBuiltinBiometry, 119 | _LibCall_ACMSetEnvironmentVariable, 120 | _LibCall_ACMTRMLoadState, 121 | _LibCall_ACMTRMLoadState_Block, 122 | _LibCall_ACMTRMSaveState, _LibCall_BuildCommand, 123 | _LibSer_ContextCredentialGetProperty_Deserialize, 124 | _LibSer_ContextCredentialGetProperty_GetSize, 125 | _LibSer_ContextCredentialGetProperty_Serialize, 126 | _LibSer_DeleteContext_Deserialize, 127 | _LibSer_DeleteContext_GetSize, 128 | _LibSer_DeleteContext_Serialize, 129 | _LibSer_GetAclAuthMethod_Deserialize, 130 | _LibSer_GetAclAuthMethod_GetSize, 131 | _LibSer_GetAclAuthMethod_Serialize, 132 | _LibSer_GlobalContextCredentialGetProperty_Deserialize, 133 | _LibSer_GlobalContextCredentialGetProperty_GetSize, 134 | _LibSer_GlobalContextCredentialGetProperty_Serialize, 135 | _LibSer_RemoveCredentialByType_Deserialize, 136 | _LibSer_RemoveCredentialByType_GetSize, 137 | _LibSer_RemoveCredentialByType_Serialize, 138 | _LibSer_StorageAnyCmd_DeserializeCommonFields, 139 | _LibSer_StorageGetData_Deserialize, 140 | _LibSer_StorageGetData_GetSize, 141 | _LibSer_StorageGetData_Serialize, 142 | _LibSer_StorageSetData_Deserialize, 143 | _LibSer_StorageSetData_GetSize, 144 | _LibSer_StorageSetData_Serialize, 145 | _LocalizableGTStringKeyForKey, _LocalizeWeeAppName, 146 | _LocalizedPolarisExplanation, _NameKey, 147 | _ObjectAndOffsetForURLPair, _PKAccessibilityIconKey, 148 | _PKAirplaneModeIconKey, _PKAppClipsIconKey, 149 | _PKAppStoreIconKey, _PKBatteryUsageIconKey, 150 | _PKBatteryUsageRTLIconKey, _PKBiometricsDidUpdate, 151 | _PKBluetoothIconKey, _PKBluetoothSharingIconKey, 152 | _PKCalendarIconKey, _PKCameraIconKey, 153 | _PKCarPlayIconKey, _PKCarrierIconKey, 154 | _PKCarrierSettingsIconKey, _PKCellularDataIconKey, 155 | _PKCinematicFramingIconKey, _PKClassKitIconKey, 156 | _PKClassroomIconKey, _PKCompassIconKey, 157 | _PKContactsIconKey, _PKContactsRTLIconKey, 158 | _PKControlCenterIconKey, _PKDNDIconKey, 159 | _PKDeveloperSettingsIconKey, _PKDisplayIconKey, 160 | _PKEthernetIconKey, _PKExposureNotificationIconKey, 161 | _PKFaceIDIconKey, _PKFaceTimeIconKey, _PKFilesIconKey, 162 | _PKFitnessIconKey, _PKFreeformIconKey, 163 | _PKGameCenterIconKey, _PKGeneralIconKey, 164 | _PKHealthDataIconKey, _PKHealthIconKey, 165 | _PKHomeDataIconKey, _PKHomeScreenIconKey, 166 | _PKIconCacheImageNameKey, _PKInternalSettingsIconKey, 167 | _PKIsUSBRestrictedModeDisabledByMobileAsset, 168 | _PKKeychainSyncIconKey, _PKLanguageIconKey, 169 | _PKLiveActivitiesIconKey, _PKLocationIconKey, 170 | _PKLogForCategory, _PKMailIconKey, _PKMapsIconKey, 171 | _PKMeasureIconKey, _PKMediaLibraryIconKey, 172 | _PKMessagesIconKey, _PKMicrophoneIconKey, 173 | _PKMotionIconKey, _PKMusicIconKey, 174 | _PKNearbyInteractionsIconKey, _PKNetworkIconKey, 175 | _PKNewsIconKey, _PKNotesIconKey, 176 | _PKNotificationCenterIconKey, _PKPasscodeIconKey, 177 | _PKPencilIconKey, _PKPersonalHotspotIconKey, 178 | _PKPhoneIconKey, _PKPhotosIconKey, _PKPodcastsIconKey, 179 | _PKPrivacyIconKey, _PKRemindersIconKey, 180 | _PKRemindersRTLIconKey, _PKSOSIconKey, 181 | _PKSafariIconKey, _PKScreenTimeIconKey, 182 | _PKSensorKitIconKey, _PKShortcutsIconKey, 183 | _PKSiriIconKey, _PKSoundsIconKey, 184 | _PKSpeechRecognitionIconKey, _PKStocksIconKey, 185 | _PKTVAppIconKey, _PKTouchIDIconKey, 186 | _PKTranslateIconKey, _PKVPNIconKey, _PKVideoIconKey, 187 | _PKVideoSubscriberIconKey, _PKVoiceMemosIconKey, 188 | _PKWalletIconKey, _PKWallpaperIconKey, 189 | _PKWeatherIconKey, _PKWiFiIconKey, _PKiBooksIconKey, 190 | _PKiCloudBackupIconKey, _PKiCloudIconKey, 191 | _PKiTunesIconKey, _PRDActionChangeStoragePlan, 192 | _PRDActionDeviceOffers, 193 | _PRDActionFreshmintStorageUpgrade, 194 | _PRDActionManageBackupDomains, 195 | _PRDActionTapPhotosRow, 196 | _PSAbbreviatedFormattedTimeString, 197 | _PSAbbreviatedFormattedTimeStringWithDays, 198 | _PSAboutDeviceSupervision, 199 | _PSAboutLocationAndPrivacyText, _PSAccessoryKey, 200 | _PSAccountSettingsDataclassesKey, 201 | _PSAccountsClientDataclassFilterKey, _PSActionKey, 202 | _PSAdjustFontSizeToFitWidthKey, _PSAirDropImage, 203 | _PSAlignmentKey, _PSAllowMultilineTitleKey, 204 | _PSAnimationOptionsFromAnimationCurve, 205 | _PSAppGroupBundleIDKey, _PSAppGroupDomainKey, 206 | _PSAppIconImageNamed, _PSAppSettingsBundleIDKey, 207 | _PSAppSettingsBundleKey, _PSAppTintColor, 208 | _PSApplicationDisplayIdentifiersCapability, 209 | _PSApplicationSpecifierForAccountsSection, 210 | _PSApplicationSpecifierForAddAccountButton, 211 | _PSApplicationSpecifierForAssistantSection, 212 | _PSApplicationSpecifierForAssistantSectionForBundleId, 213 | _PSApplicationSpecifierForBBSection, 214 | _PSApplyBuddyThemeToNavigationBar, 215 | _PSAudioAccessoryLicenseFilePath, 216 | _PSAudioAccessoryWarrantyFilePath, 217 | _PSAuthorizationTokenForPasscode, _PSAutoCapsKey, 218 | _PSAutoCorrectionKey, _PSAutoWhiteBalanceCapability, 219 | _PSBTAccessoryListeningMode, 220 | _PSBTSetAccessoryListeningMode, _PSBackupClass, 221 | _PSBadgeNumberKey, _PSBestGuesserKey, 222 | _PSBlankIconImage, _PSBundleCustomIconPathKey, 223 | _PSBundleHasBundleIconKey, _PSBundleHasIconKey, 224 | _PSBundleIconPathKey, 225 | _PSBundleIdentifierDocumentsApp, 226 | _PSBundleIdentifierFitness, _PSBundleIdentifierMaps, 227 | _PSBundleIdentifierNews, 228 | _PSBundleIdentifierPlaygroundsBeta, 229 | _PSBundleIdentifierPodcasts, 230 | _PSBundleIdentifierSchoolwork, 231 | _PSBundleIdentifierStocks, _PSBundleIdentifierTV, 232 | _PSBundleIdentifierWebAppPlaceholderPrefix, 233 | _PSBundleIdentifieriBooks, 234 | _PSBundleIdentifieriTunesU, _PSBundleIsControllerKey, 235 | _PSBundleOverridePrincipalClassKey, 236 | _PSBundlePathForPreferenceBundle, _PSBundlePathKey, 237 | _PSBundleSearchControllerClassKey, 238 | _PSBundleSearchIconPathKey, 239 | _PSBundleSupportsSearchKey, 240 | _PSBundleTintedIconPathKey, _PSButtonActionKey, 241 | _PSCancelKey, _PSCapacityBarBackgroundColorKey, 242 | _PSCapacityBarDataKey, _PSCapacityBarForceLoadingKey, 243 | _PSCapacityBarHideLegendKey, 244 | _PSCapacityBarLegendTextColorKey, 245 | _PSCapacityBarLoadingKey, 246 | _PSCapacityBarOtherDataColorKey, 247 | _PSCapacityBarOtherDataLegendTextKey, 248 | _PSCapacityBarSeparatorColorKey, 249 | _PSCapacityBarShowOtherDataLegendKey, 250 | _PSCapacityBarSizeFormatKey, 251 | _PSCapacityBarSizeLblUsesStandardFontKey, 252 | _PSCapacityBarSizeTextColorKey, 253 | _PSCapacityBarSizesAreMemKey, 254 | _PSCapacityBarTitleTextColorKey, _PSCellClassKey, 255 | _PSCellularDataPlanCapability, _PSCellularPlanKey, 256 | _PSCellularPlanReferenceKey, _PSCityForSpecifier, 257 | _PSCityForTimeZone, _PSCloudSyncKeyDisplayName, 258 | _PSCloudSyncKeyMessage, _PSCloudSyncKeyPlatforms, 259 | _PSCloudSyncKeyRedirectTitle, 260 | _PSCloudSyncKeyRedirectURL, 261 | _PSColorCodedSerialNumber, _PSConfigString, 262 | _PSConfirmationActionKey, _PSConfirmationAltKey, 263 | _PSConfirmationAlternateActionKey, 264 | _PSConfirmationAlternateDestructiveKey, 265 | _PSConfirmationCancelActionKey, 266 | _PSConfirmationCancelKey, 267 | _PSConfirmationDestructiveKey, _PSConfirmationKey, 268 | _PSConfirmationOKKey, _PSConfirmationPromptKey, 269 | _PSConfirmationTitleKey, _PSConnected298, 270 | _PSContainerBundleIDKey, 271 | _PSContinuityCameraCapability, 272 | _PSControlIsLoadingKey, _PSControlKey, 273 | _PSControlMaximumKey, _PSControlMinimumKey, 274 | _PSControllerItemsKey, _PSControllerLoadActionKey, 275 | _PSControllerTitleKey, _PSCopyableCellKey, 276 | _PSCoreSpolightIndexInExtensionKey, 277 | _PSCoreSpolightSkipInternalManifestsKey, 278 | _PSCoreUIArtworkDeviceSubtype, 279 | _PSCreateSecTrustFromCertificateChain, 280 | _PSCurrentCallTypes, _PSDataSourceClassKey, 281 | _PSDatePickerInlineKey, _PSDecimalKeyboardKey, 282 | _PSDefaultValueKey, _PSDefaultsKey, 283 | _PSDeferItemSelectionKey, _PSDeletionActionKey, 284 | _PSDetailControllerClassKey, 285 | _PSDeveloperSettingsCapability, _PSDeviceClass, 286 | _PSDeviceSubTypeString, _PSDeviceUDID, 287 | _PSDiagnosticsAreEnabled, _PSDisplayNameForBBSection, 288 | _PSDisplaySortedByTitleKey, _PSDisplayZoomCapability, 289 | _PSDocumentBundleIdentifierKey, _PSEditPaneClassKey, 290 | _PSEditableTableCellTextFieldShouldPopOnReturn, 291 | _PSEditingCellHorizontalInset, 292 | _PSEmailAddressKeyboardKey, 293 | _PSEmailAddressingKeyboardKey, _PSEnabledKey, 294 | _PSEthernetChangedNotification, 295 | _PSExposureNotificationsCapability, 296 | _PSFaceIDPrivacyText, _PSFindViewOfClass, 297 | _PSFooterAlignmentGroupKey, 298 | _PSFooterCellClassGroupKey, 299 | _PSFooterHyperlinkViewActionKey, 300 | _PSFooterHyperlinkViewLinkRangeKey, 301 | _PSFooterHyperlinkViewTargetKey, 302 | _PSFooterHyperlinkViewTitleKey, 303 | _PSFooterHyperlinkViewURLKey, _PSFooterTextGroupKey, 304 | _PSFooterViewKey, _PSFormattedTimeString, 305 | _PSFormattedTimeStringWithDays, 306 | _PSGestureRecognizers, 307 | _PSGetAuthorizationStatesForService, 308 | _PSGetCapabilityBoolAnswer, _PSGetterKey, 309 | _PSGreenTeaAppListLog, 310 | _PSGreenTeaLoggerForAppListing, _PSHasStockholmPass, 311 | _PSHeaderCellClassGroupKey, 312 | _PSHeaderDetailTextGroupKey, _PSHeaderViewKey, 313 | _PSHidesDisclosureIndicatorKey, 314 | _PSHighLegibilityAlternateFont, 315 | _PSHomeScreenPhoneCapability, _PSIDKey, 316 | _PSIPKeyboardKey, _PSIconImageKey, 317 | _PSIconImageShouldFlipForRightToLeftCalendarKey, 318 | _PSIconImageShouldFlipForRightToLeftKey, 319 | _PSIconImageShouldLoadAlternateImageForRightToLeftKey, 320 | _PSInEDUModeCapability, _PSInStoreDemoModeCapability, 321 | _PSIndiaBISNumber, _PSIsAppIdSiriKitTCCEnabled, 322 | _PSIsAudioAccessory, 323 | _PSIsBundleIDHiddenDueToRestrictions, 324 | _PSIsBundleIDInstalled, _PSIsD22ScreenSize, 325 | _PSIsD33OrN84ScreenSize, _PSIsDebug, 326 | _PSIsGreenTeaCapable, _PSIsHostingPersonalHotspot, 327 | _PSIsInEDUMode, _PSIsInternalInstall, _PSIsJ99, 328 | _PSIsKeychainSecureBackupEnabled, 329 | _PSIsLocationRestricted, _PSIsLoggingEnabled, _PSIsN56, 330 | _PSIsNanoMirroringDomain, _PSIsPearlAvailable, 331 | _PSIsPearlInterlocked, _PSIsPerGizmoKey, 332 | _PSIsRadioGroupKey, _PSIsRunningInAssistant, 333 | _PSIsSkippedInEDUModeKey, 334 | _PSIsSpecifierHiddenDueToRestrictions, 335 | _PSIsTelephonyDead, _PSIsThirdPartyDetailKey, 336 | _PSIsTopLevelKey, _PSIsUsingPasscode, 337 | _PSIsWebAppPlaceholder, _PSIsiPad, _PSIsiPhone, 338 | _PSKeyNameKey, _PSKeyboardTypeKey, 339 | _PSKeychainSyncErrorDomain, 340 | _PSKeychainSyncGetCircleMembershipStatus, 341 | _PSKeychainSyncGetStatus, _PSKeychainSyncIsUsingICDP, 342 | _PSKillProcessNamed, _PSLazilyLoadedBundleKey, 343 | _PSLazyIconAppID, _PSLazyIconDontUnload, 344 | _PSLazyIconLoading, _PSLazyIconLoadingCustomQueue, 345 | _PSLazyIconURL, _PSLegacyCityFromCity, 346 | _PSLicenseFilePath, _PSLicensePath, 347 | _PSLightningAdapterCapability, 348 | _PSListItemsValuesAreAppIDsKey, 349 | _PSListeningExperienceCapability, 350 | _PSLocaleLanguageDirection, _PSLocaleUses24HourClock, 351 | _PSLocalizableMesaStringForKey, 352 | _PSLocalizablePearlStringForKey, 353 | _PSLocalizableStockholmStringForKey, 354 | _PSLocalizedStringFromTableInBundleForLanguage, 355 | _PSLog, _PSManifestEntriesKey, _PSManifestSectionKey, 356 | _PSManifestStringTableKey, _PSMarginWidthKey, 357 | _PSMigrateSoundsDefaults_10_0, 358 | _PSMultipickerStringsName, 359 | _PSNETRBChangedNotification, 360 | _PSNavigationControllerWillShow, 361 | _PSNavigationControllerWillShowAppearing, 362 | _PSNavigationControllerWillShowDisappearing, 363 | _PSNavigationControllerWillShowOperationType, 364 | _PSNegateValueKey, _PSNightShiftCapability, 365 | _PSNotifyNanoKey, _PSNumberKeyboardKey, 366 | _PSOverrideDevicePasscodeEntryPresetKey, 367 | _PSPIDForProcessNamed, _PSPaneTitleKey, 368 | _PSPassbookImage, _PSPencilCapability, 369 | _PSPhoneNoiseCancellationCapability, 370 | _PSPhotoFormatEnhancedProRAWCapability, 371 | _PSPhotoFormatProRAWCapability, 372 | _PSPictureInPictureCapability, _PSPlaceholderKey, 373 | _PSPlantCode, _PSPlistNameKey, _PSPointImageOfColor, 374 | _PSPreferencesFrameworkBundle, 375 | _PSPreferencesLaunchURL, 376 | _PSPreferencesUIFrameworkBundle, 377 | _PSPreferredLanguageIsEnglish, 378 | _PSPrioritizeValueTextDisplayKey, 379 | _PSPurpleBuddyIdentifier, 380 | _PSRadioGroupCheckedSpecifierKey, 381 | _PSRaiseToWakeCapability, 382 | _PSRecordHDRVideoCapability, _PSRegulatoryImage, 383 | _PSRequiredCapabilitiesKey, 384 | _PSRequiredCapabilitiesOrKey, 385 | _PSRerootPreferencesNavigationNotification, 386 | _PSResetCachedSiriKitTCCEnabledAppIds, 387 | _PSRetailKioskModeCapability, 388 | _PSRootControllerDidSuspendNotification, 389 | _PSRoundRectToPixel, _PSRoundToPixel, 390 | _PSScreenClassString, _PSSearchInlineTogglesEnabled, 391 | _PSSearchNanoApplicationsBundlePath, 392 | _PSSearchNanoInternalSettingsBundlePath, 393 | _PSSearchNanoSettingsBundlePath, 394 | _PSSecureBackupAccountInfo, 395 | _PSSelectedTintedImageFromMask, 396 | _PSSetBatteryMonitoringEnabled, 397 | _PSSetCustomWatchCapabilityCheck, 398 | _PSSetLoggingEnabled, _PSSetTCCLevelForService, 399 | _PSSetterKey, _PSSetupAssistantNeedsToRun, 400 | _PSSetupCustomClassKey, _PSSetupFinishedAllStepsKey, 401 | _PSShortFormattedTimeString, 402 | _PSShortTitlesDataSourceKey, _PSShortTitlesKey, 403 | _PSShouldInsetListView, _PSShouldShowIndiaBIS, 404 | _PSShowEnableKeychainSync, 405 | _PSShowKeychainSyncRecovery, 406 | _PSShowStorageCapability, 407 | _PSShowVideoDownloadsCapability, _PSSimIsRequired, 408 | _PSSiriImage, _PSSiriKitTCCEnabledAppIds, 409 | _PSSliderIsContinuous, _PSSliderIsSegmented, 410 | _PSSliderLeftImageKey, _PSSliderLeftImagePromiseKey, 411 | _PSSliderLocksToSegment, _PSSliderRightImageKey, 412 | _PSSliderRightImagePromiseKey, _PSSliderSegmentCount, 413 | _PSSliderShowValueKey, _PSSliderSnapsToSegment, 414 | _PSSpeciferForThirdPartyBundle, 415 | _PSSpecifierActionKey, _PSSpecifierAttributesKey, 416 | _PSSpecifierAuthenticationTokenKey, 417 | _PSSpecifierForThirdPartyBundle, 418 | _PSSpecifierIsSearchableKey, 419 | _PSSpecifierIsSectionKey, _PSSpecifierPasscodeKey, 420 | _PSSpecifierSearchBundleKey, 421 | _PSSpecifierSearchContentDescriptionKey, 422 | _PSSpecifierSearchDetailPath, 423 | _PSSpecifierSearchKeywordsKey, 424 | _PSSpecifierSearchPlistKey, 425 | _PSSpecifierSearchSectionID, 426 | _PSSpecifierSearchSectionIDKey, 427 | _PSSpecifierSearchTitleKey, _PSSpecifierSearchURL, 428 | _PSSpecifierSearchURLKey, 429 | _PSSpecifierSupportsSearchToggleKey, 430 | _PSSpecifiersKey, _PSStaticHeaderTextKey, 431 | _PSStaticTextMessageKey, 432 | _PSStockholmLocallyStoredValuePassNames, 433 | _PSStorageAndBackupClass, _PSStorageClass, 434 | _PSStringForDays, _PSStringForHours, _PSStringForMins, 435 | _PSStringForMinutes, _PSStringsBundleIDKey, 436 | _PSStringsBundlePathKey, _PSStringsKey, 437 | _PSStringsTableKey, _PSSubscriptionContextKey, 438 | _PSSupportedOrientations, 439 | _PSSupportsAccountSettingsDataclassesKey, 440 | _PSSupportsMesa, _PSTTYCapability, 441 | _PSTableCellAlwaysShowSeparator, 442 | _PSTableCellClassKey, _PSTableCellHeightKey, 443 | _PSTableCellKey, _PSTableCellStyleOverrideKey, 444 | _PSTableCellSubtitleColorKey, 445 | _PSTableCellSubtitleTextKey, 446 | _PSTableCellUseEtchedAppearanceKey, 447 | _PSTableCellVisualLabelDebugging, 448 | _PSTableSectionFooterBottomPad, 449 | _PSTableSectionFooterTopPad, _PSTableViewSideInset, 450 | _PSTableViewSideInsetPad, _PSTextContentTypeKey, 451 | _PSTextFieldNoAutoCorrectKey, 452 | _PSTextViewBottomMarginKey, _PSTextViewInsets, 453 | _PSTimeStringIsShortened, 454 | _PSTimeZoneArrayForSpecifier, 455 | _PSTimeZoneArrayForTimeZone, _PSTintedIcon, 456 | _PSTintedImageFromMask, _PSTitleKey, 457 | _PSTitlesDataSourceKey, _PSToolbarLabelsTextColor, 458 | _PSTopLevelCellKey, _PSTrackpadAndMouseCapability, 459 | _PSTrackpadOnlyCapability, 460 | _PSUISupportsDocumentBrowser, _PSURLKeyboardKey, 461 | _PSUsageBundleAppKey, _PSUsageBundleCategoryKey, 462 | _PSUsageBundleDeletingKey, 463 | _PSUseHighLegibilityAlternateKey, 464 | _PSUseModernLayoutKey, _PSUsePadStylePIN, 465 | _PSUsedByHSA2Account, _PSUsedByManagedAccount, 466 | _PSUsesAlternateSelectionStyleKey, _PSValidTitlesKey, 467 | _PSValidValuesKey, _PSValueChangedNotificationKey, 468 | _PSValueKey, _PSValuesDataSourceKey, 469 | _PSWalletApplePayCapability, _PSWarrantyFilePath, 470 | _PSWarrantyPath, _PSWeekOfManufacture, 471 | _PSWifiChangedNotification, _PSWifiNameKey, 472 | _PSWifiPowerStateKey, _PSWifiTetheringStateKey, 473 | _PSYearOfManufacture, _PS_LocalizedString, 474 | _PS_LocalizedStringForAppleID, 475 | _PS_LocalizedStringForDocumentsPolicy, 476 | _PS_LocalizedStringForDriverPolicy, 477 | _PS_LocalizedStringForInternational, 478 | _PS_LocalizedStringForKeychainSync, 479 | _PS_LocalizedStringForPINEntry, 480 | _PS_LocalizedStringForPolaris, 481 | _PS_LocalizedStringForProblemReporting, 482 | _PS_LocalizedStringForProblemReportingCinnamon, 483 | _PS_LocalizedStringForSoftwareUpdate, 484 | _PS_LocalizedStringForSystemPolicy, _PathKey, 485 | _PreferencesTableViewCellLeftPad, 486 | _PreferencesTableViewCellRightPad, 487 | _PreferencesTableViewFooterColor, 488 | _PreferencesTableViewFooterFont, 489 | _PreferencesTableViewHeaderColor, 490 | _PreferencesTableViewHeaderFont, 491 | _PreferencesVersionNumber, _PreferencesVersionString, 492 | _ProcessedSpecifierBundle, _ProductType, 493 | _SUIKCategoryFromSearchableItem, 494 | _SUIKCategoryHeaderKind, _ScreenScale, 495 | _SearchEntriesFromSpecifiers, 496 | _SearchEntryFromSpecifier, 497 | _SearchSpecifiersFromPlist, _SerializeAddCredential, 498 | _SerializeCredential, _SerializeCredentialList, 499 | _SerializeGetContextProperty, _SerializeProcessAcl, 500 | _SerializeRemoveCredential, 501 | _SerializeReplacePassphraseCredential, 502 | _SerializeRequirement, _SerializeVerifyAclConstraint, 503 | _SerializeVerifyPolicy, _SetDeviceName, 504 | _ShouldShowBuiltInApps, _ShouldShowRoHSCompliance, 505 | _ShouldShowWeibo, _ShouldShowYearOfManufacture, 506 | _ShowInNotificationsState, _SpecifiersFromPlist, 507 | _SystemHasCapabilities, 508 | _TopToBottomLeftToRightViewCompare, _UsageSizeKey, 509 | _UserInterfaceIdiom, _Util_AllocCredential, 510 | _Util_AllocRequirement, _Util_CreateRequirement, 511 | _Util_DeallocCredential, _Util_DeallocRequirement, 512 | _Util_GetBitCount, _Util_KeybagLockStateToEnvVar, 513 | _Util_ReadFromBuffer, _Util_SafeDeallocParameters, 514 | _Util_WriteToBuffer, _Util_hexDumpToStrHelper, 515 | _Util_isNonNullEqualMemory, _Util_isNullOrZeroMemory, 516 | _WifiStateChanged, 517 | __MCFeatureHandWashingDataSubmissionAllowed, 518 | __MCFeatureSafetyDataSubmissionAllowed, 519 | __PSFindViewRecursively, 520 | __PSIsValueRestrictedByMCFeature, 521 | __PSLoggingFacility, ___init_sirikit_enabled_lock, 522 | __clearKeychainSyncCache, __consuming_xpc_release, 523 | __screenScale, _acm_explicit_bzero, _acm_get_mem, 524 | _acm_mem_alloc, _acm_mem_alloc_data, 525 | _acm_mem_alloc_info, _acm_mem_free, _acm_mem_free_data, 526 | _acm_mem_free_info, _gACMLoggingLevel, 527 | _gAllocatedBytes, _kDevicePINControllerDelegate, 528 | _kDevicePINMode, _kHeaderHorizontalMargin, 529 | _kKeychainSyncCountryInfoKey, 530 | _kKeychainSyncPhoneNumberKey, 531 | _kKeychainSyncSecurityCodeAdvancedOptionsResult, 532 | _kKeychainSyncSecurityCodeKey, 533 | _kKeychainSyncSecurityCodePeerApprovalResult, 534 | _kKeychainSyncSecurityCodeResetKeychainResult, 535 | _kKeychainSyncSecurityCodeSetUpLaterResult, 536 | _kKeychainSyncSecurityCodeTypeKey, 537 | _kKeychainSyncSpinnerKey, 538 | _kNumberOfPasscodeFieldsProperty, 539 | _kPSLargeTextUsesExtendedRangeKey, 540 | _kTCCBluetoothSharingID, _kTCCCalendarsID, 541 | _kTCCCameraID, _kTCCContactsID, 542 | _kTCCExposureNotification, _kTCCFaceID, 543 | _kTCCLiverpoolID, _kTCCMediaLibraryID, 544 | _kTCCMicrophoneID, _kTCCMotionID, 545 | _kTCCNearbyInteractions, _kTCCPhotosID, 546 | _kTCCRemindersID, _kTCCSpeechRecognitionID, 547 | _kTCCUserTrackingID, 548 | _kTCCWebKitIntelligentTrackingPreventionID, 549 | _kTCCWillowID, _kWantsIcon, _resetLocale, 550 | _s_sirikit_enabled_lock, 551 | _verifyAclConstraintInternal ] 552 | objc-classes: [ AlphanumericPINTableViewCell, 553 | AlphanumericPINTextField, DevicePINController, 554 | DevicePINKeypad, DevicePINKeypadContainerView, 555 | DevicePINPane, DevicePINSetupController, 556 | DiagnosticDataController, FailureBarView, 557 | FontSizeSliderCell, 558 | KeychainSyncAdvancedSecurityCodeController, 559 | KeychainSyncAppleSupportController, 560 | KeychainSyncCountryInfo, 561 | KeychainSyncDevicePINController, 562 | KeychainSyncPhoneNumberController, 563 | KeychainSyncPhoneSettingsFragment, 564 | KeychainSyncSMSVerificationController, 565 | KeychainSyncSecurityCodeCell, 566 | KeychainSyncSetupController, 567 | LargeTextExplanationView, LargerSizesHelpTextView, 568 | PINOptionsButton, PINView, PKBiometrics, 569 | PKIconImageCache, PSAboutHTMLSheetViewController, 570 | PSAboutTextSheetViewController, 571 | PSAccessibilitySettingsDetail, PSAccountEnumerator, 572 | PSAccountSecurityController, 573 | PSAccountsClientListCell, 574 | PSAccountsClientListController, 575 | PSAccountsLinkSpecifier, 576 | PSAirplaneModeSettingsDetail, PSAppListController, 577 | PSAppleIDSplashViewController, 578 | PSAssistiveTouchSettingsDetail, 579 | PSAudioTransparencySettingsDetail, 580 | PSAutoLockSettingsDetail, PSBadgedTableCell, 581 | PSBarButtonSpinnerView, PSBiometricIdentity, 582 | PSBluetoothSettingsDetail, PSBrightnessController, 583 | PSBrightnessSettingsDetail, PSBulletedPINView, 584 | PSBundleController, PSCapabilityManager, 585 | PSCapacityBarCategory, PSCapacityBarCell, 586 | PSCapacityBarData, PSCapacityBarLegendView, 587 | PSCapacityBarView, PSCastleSettingsDetail, 588 | PSCellularDataSettingsDetail, PSClearBackgroundCell, 589 | PSCloudStorageOffersManager, 590 | PSCloudStorageQuotaManager, PSCloudSyncButton, 591 | PSCloudSyncController, 592 | PSCommandAndControlSettingsDetail, 593 | PSCompassSettingsDetail, PSConfirmationSpecifier, 594 | PSContactsPolicyController, 595 | PSControlCenterSettingsDetail, PSControlTableCell, 596 | PSCoreSpotlightIndexer, PSDUETSettingsDetail, 597 | PSDateTimePickerCell, PSDeleteButtonCell, 598 | PSDetailController, PSDocumentsPolicyController, 599 | PSDriverPolicyForApp, PSEditableListController, 600 | PSEditableTableCell, PSEditingPane, 601 | PSExpandableAppListGroup, PSExpandableListGroup, 602 | PSFaceTimeSettingsDetail, 603 | PSFitnessPlusAnalyticsConsentCoordinator, 604 | PSFooterHyperlinkView, PSFooterMultiHyperlinkView, 605 | PSFooterMultiHyperlinkViewLinkSpec, 606 | PSGameCenterSettingsDetail, 607 | PSGuidedAccessSettingsDetail, 608 | PSHotspotModeSettingsDetail, PSIconMarginTableCell, 609 | PSInternationalController, 610 | PSInternationalLanguageController, 611 | PSInternationalLanguageSetupController, 612 | PSInvertColorsSettingsDetail, 613 | PSKeyboardNavigationSearchBar, 614 | PSKeyboardNavigationSearchController, 615 | PSKeyboardSettingsDetail, PSKeychainSyncHeaderView, 616 | PSKeychainSyncManager, PSKeychainSyncPhoneNumber, 617 | PSKeychainSyncSecurityCodeController, 618 | PSKeychainSyncTextEntryController, 619 | PSKeychainSyncViewController, PSLanguage, 620 | PSLanguageSelector, PSLargeTextController, 621 | PSLargeTextSliderListController, PSLazyImagePromise, 622 | PSLegalMessagePane, PSLegendColorView, 623 | PSListController, 624 | PSListControllerDefaultAppearanceProvider, 625 | PSListControllerDefaultNavigationCoordinator, 626 | PSListItemsController, PSLocaleController, 627 | PSLocaleSelector, PSLocationServicesSettingsDetail, 628 | PSLowPowerModeSettingsDetail, PSMCCSettingsDetail, 629 | PSMapsSettingsDetail, PSMessagesSettingsDetail, 630 | PSMigratorUtilities, 631 | PSMultilineSubtitleSwitchTableViewCell, 632 | PSMultilineTableCell, PSMusicSettingsDetail, 633 | PSNavBarSpinnerManager, 634 | PSNoiseCancellationSettingsDetail, 635 | PSNonMovableTapGestureRecognizer, 636 | PSNotesSettingsDetail, 637 | PSNotificationSettingsController, 638 | PSNotificationSettingsDetail, 639 | PSOAuthAccountRedirectURLController, PSPasscodeField, 640 | PSPasscodeSettingsDetail, PSPhoneNumberSpecifier, 641 | PSPhoneNumberTableCell, PSPhoneSettingsDetail, 642 | PSPhotoServicesAuthorizationLevelController, 643 | PSPhotosAndCameraSettingsDetail, 644 | PSPhotosPolicyController, PSPowerlogListController, 645 | PSPrivacySettingsDetail, PSQuotaInfo, PSRegion, 646 | PSRemindersSettingsDetail, PSRestrictionsController, 647 | PSRestrictionsPINController, 648 | PSRestrictionsPasscodeController, 649 | PSReversedSubtitleDisclosureTableCell, 650 | PSRootController, PSSafariSettingsDetail, 651 | PSSearchController, PSSearchEntry, 652 | PSSearchIndexOperation, PSSearchModel, 653 | PSSearchOperation, PSSearchResults, 654 | PSSearchResultsCell, PSSearchResultsController, 655 | PSSearchableItem, PSSearchableItemManifest, 656 | PSSegmentTableCell, PSSegmentableSlider, 657 | PSSettingsFunctions, PSSetupController, 658 | PSSharableDetailController, PSSimulatedCrash, 659 | PSSiriSettingsDetail, PSSliderTableCell, 660 | PSSoftwareUpdateAnimatedIcon, 661 | PSSoftwareUpdateLicenseViewController, 662 | PSSoftwareUpdateReleaseNotesDetail, 663 | PSSoftwareUpdateTableView, 664 | PSSoftwareUpdateTermsManager, 665 | PSSoftwareUpdateTitleCell, PSSoundsSettingsDetail, 666 | PSSpecifier, PSSpecifierAction, PSSpecifierController, 667 | PSSpecifierDataSource, PSSpecifierGroupIndex, 668 | PSSpecifierUpdateContext, PSSpecifierUpdateOperation, 669 | PSSpecifierUpdates, PSSpinnerRecord, 670 | PSSpinnerTableCell, PSSplitViewController, 671 | PSSpotlightSearchResultsController, 672 | PSStackPushAnimationController, 673 | PSStorageAppHeaderCell, PSStoreSettingsDetail, 674 | PSSubtitleDisclosureTableCell, 675 | PSSubtitleSwitchTableCell, PSSwitchTableCell, 676 | PSSystemConfiguration, 677 | PSSystemConfigurationDynamicStoreEthernetWatcher, 678 | PSSystemConfigurationDynamicStoreNETRBWatcher, 679 | PSSystemConfigurationDynamicStoreWifiWatcher, 680 | PSSystemPolicyForApp, PSSystemPolicyManager, 681 | PSTableCell, PSTableCellHighlightContext, 682 | PSTextEditingCell, PSTextEditingPane, 683 | PSTextFieldPINView, PSTextFieldSpecifier, 684 | PSTextSizeSettingsDetail, PSTextView, PSTextViewPane, 685 | PSTextViewTableCell, PSThirdPartyApp, 686 | PSThirdPartyAppController, 687 | PSThirdPartySettingsDetail, PSTimeRangeCell, 688 | PSTimeZoneController, PSTimeZoneTableCell, 689 | PSTorchSettingsDetail, PSTrackingWelcomeController, 690 | PSUISearchController, PSURLControllerHandler, 691 | PSURLManager, PSUsageBundleApp, PSUsageBundleCategory, 692 | PSUsageBundleCell, PSUsageBundleDetailController, 693 | PSUsageBundleManager, PSUsageSizeHeader, 694 | PSVideoSubscriberPrivacyCell, PSVideosSettingsDetail, 695 | PSViewController, PSVoiceOverSettingsDetail, 696 | PSWeakReference, PSWebContainerView, 697 | PSWiFiSettingsDetail, PasscodeFieldCell, 698 | PrefsUILinkLabel, ProblemReportingAboutController, 699 | ProblemReportingController, 700 | SUIKSearchResultCollectionViewListCell, 701 | SUIKSearchResultCollectionViewSectionHeader, 702 | SUIKSearchResultsCollectionViewController, 703 | _PSDeferredUpdates, 704 | _PSSpinnerHandlingNavigationController, 705 | _PSSpinnerViewController, 706 | _SUIKSearchResultsUpdateOperation ] 707 | objc-ivars: [ AlphanumericPINTableViewCell._pinTextField, 708 | DevicePINController._allowOptionsButton, 709 | DevicePINController._cancelButton, 710 | DevicePINController._doneButton, 711 | DevicePINController._doneButtonTitle, 712 | DevicePINController._error1, 713 | DevicePINController._error2, 714 | DevicePINController._hasBeenDismissed, 715 | DevicePINController._hidesCancelButton, 716 | DevicePINController._hidesNavigationButtons, 717 | DevicePINController._lastEntry, 718 | DevicePINController._mode, 719 | DevicePINController._nextButton, 720 | DevicePINController._numericPIN, 721 | DevicePINController._oldPassword, 722 | DevicePINController._passcodeOptionsHandler, 723 | DevicePINController._passcodeOptionsTitle, 724 | DevicePINController._pinDelegate, 725 | DevicePINController._pinLength, 726 | DevicePINController._requiresKeyboard, 727 | DevicePINController._sepLockInfo, 728 | DevicePINController._sepOnceToken, 729 | DevicePINController._shouldDismissWhenDone, 730 | DevicePINController._simplePIN, 731 | DevicePINController._substate, 732 | DevicePINController._success, 733 | DevicePINController._useSEPLockInfo, 734 | DevicePINKeypadContainerView._backdropView, 735 | DevicePINKeypadContainerView._iPadKeypadHeight, 736 | DevicePINKeypadContainerView._keypad, 737 | DevicePINPane._PINLength, 738 | DevicePINPane._autocapitalizationType, 739 | DevicePINPane._autocorrectionType, 740 | DevicePINPane._isBlocked, 741 | DevicePINPane._keyboardAppearance, 742 | DevicePINPane._keyboardType, DevicePINPane._keypad, 743 | DevicePINPane._keypadActive, 744 | DevicePINPane._keypadContainerView, 745 | DevicePINPane._numericKeyboard, 746 | DevicePINPane._passcodeOptionsHandler, 747 | DevicePINPane._passcodeOptionsTitle, 748 | DevicePINPane._pinView, DevicePINPane._playSound, 749 | DevicePINPane._simplePIN, 750 | DevicePINPane._transitionView, 751 | DevicePINPane._transitioning, 752 | DevicePINSetupController._allowOptionsButton, 753 | DevicePINSetupController._success, 754 | DiagnosticDataController.__allSpecifiers, 755 | DiagnosticDataController.__state, 756 | DiagnosticDataController._searchController, 757 | FailureBarView._titleLabel, 758 | KeychainSyncAdvancedSecurityCodeController._cellFont, 759 | KeychainSyncAdvancedSecurityCodeController._cellTextWidth, 760 | KeychainSyncAdvancedSecurityCodeController._showsDisableRecoveryOption, 761 | KeychainSyncCountryInfo._countryCode, 762 | KeychainSyncCountryInfo._countryName, 763 | KeychainSyncCountryInfo._dialingPrefix, 764 | KeychainSyncCountryInfo._localizedCountryName, 765 | KeychainSyncDevicePINController._devicePINController, 766 | KeychainSyncDevicePINController._disabledKeyboard, 767 | KeychainSyncDevicePINController._enterPasscodeReason, 768 | KeychainSyncDevicePINController._enterPasscodeTitle, 769 | KeychainSyncDevicePINController._showingBlockedMessage, 770 | KeychainSyncPhoneNumberController._footerLabel, 771 | KeychainSyncPhoneNumberController._phoneSettingsFragment, 772 | KeychainSyncPhoneSettingsFragment._countryInfo, 773 | KeychainSyncPhoneSettingsFragment._countrySpecifier, 774 | KeychainSyncPhoneSettingsFragment._delegate, 775 | KeychainSyncPhoneSettingsFragment._listController, 776 | KeychainSyncPhoneSettingsFragment._phoneNumber, 777 | KeychainSyncPhoneSettingsFragment._phoneNumberSpecifier, 778 | KeychainSyncPhoneSettingsFragment._specifiers, 779 | KeychainSyncPhoneSettingsFragment._title, 780 | KeychainSyncSMSVerificationController._countryCode, 781 | KeychainSyncSMSVerificationController._dialingPrefix, 782 | KeychainSyncSMSVerificationController._footerButton, 783 | KeychainSyncSMSVerificationController._keychainSyncManager, 784 | KeychainSyncSMSVerificationController._phoneNumber, 785 | KeychainSyncSecurityCodeCell._bulletTextLabel, 786 | KeychainSyncSecurityCodeCell._firstPasscodeEntry, 787 | KeychainSyncSecurityCodeCell._mode, 788 | KeychainSyncSecurityCodeCell._securityCodeType, 789 | KeychainSyncSetupController._manager, 790 | LargeTextExplanationView._bodyExampleLabel, 791 | LargeTextExplanationView._bodyExampleTextView, 792 | LargerSizesHelpTextView._helpLabel, 793 | PINView._delegate, PINView._error, 794 | PINView._errorTitleLabel, PINView._failureView, 795 | PINView._optionsButton, PINView._optionsButtonTitle, 796 | PINView._passcodeOptionsHandler, 797 | PINView._pinPolicyLabel, PINView._titleLabel, 798 | PKBiometrics._pearlDevice, 799 | PKBiometrics._touchIDDevice, 800 | PKIconImageCache._cacheAccessQueue, 801 | PKIconImageCache._iconCache, 802 | PSAccountEnumerator.__accountUpdateQueue, 803 | PSAccountEnumerator.__monitoredAccountStore, 804 | PSAccountEnumerator._visibleAccountCount, 805 | PSAccountSecurityController._SMSTarget, 806 | PSAccountSecurityController._SMSTargetCountryInfo, 807 | PSAccountSecurityController._devicePINController, 808 | PSAccountSecurityController._devicePasscodeChangeSetupController, 809 | PSAccountSecurityController._manager, 810 | PSAccountSecurityController._passcodeSpecifiers, 811 | PSAccountSecurityController._phoneSettingsFragment, 812 | PSAccountSecurityController._recoverySwitch, 813 | PSAccountSecurityController._secureBackupEnabled, 814 | PSAccountSecurityController._securityCode, 815 | PSAccountSecurityController._securityCodeType, 816 | PSAccountsClientListController._acObserver, 817 | PSAccountsClientListController._accountSpecifier, 818 | PSAccountsClientListController._noAccountsSetUp, 819 | PSAccountsClientListController._showExtraVC, 820 | PSAccountsClientListController.accountUpdateThrottle, 821 | PSAccountsLinkSpecifier._accountEnumerator, 822 | PSAppListController._appPolicy, 823 | PSAppListController._driverPolicy, 824 | PSAppListController._systemPolicy, 825 | PSAppleIDSplashViewController._authController, 826 | PSAppleIDSplashViewController._cancelButtonBarItem, 827 | PSAppleIDSplashViewController._createNewAccountButtonSpecifier, 828 | PSAppleIDSplashViewController._createNewAccountGroupSpecifier, 829 | PSAppleIDSplashViewController._idleJiggleTimer, 830 | PSAppleIDSplashViewController._isPasswordDirty, 831 | PSAppleIDSplashViewController._isPresentedModally, 832 | PSAppleIDSplashViewController._nextButtonBarItem, 833 | PSAppleIDSplashViewController._password, 834 | PSAppleIDSplashViewController._passwordHandler, 835 | PSAppleIDSplashViewController._passwordSpecifier, 836 | PSAppleIDSplashViewController._powerAssertion, 837 | PSAppleIDSplashViewController._remoteUICompletion, 838 | PSAppleIDSplashViewController._remoteUIController, 839 | PSAppleIDSplashViewController._shouldHideBackButton, 840 | PSAppleIDSplashViewController._shouldShowCreateAppleIDButton, 841 | PSAppleIDSplashViewController._signInButtonSpecifier, 842 | PSAppleIDSplashViewController._spinner, 843 | PSAppleIDSplashViewController._spinnerBarItem, 844 | PSAppleIDSplashViewController._textFieldTextDidChangeObserver, 845 | PSAppleIDSplashViewController._userSpecifier, 846 | PSAppleIDSplashViewController._username, 847 | PSBadgedTableCell._badgeImageView, 848 | PSBadgedTableCell._badgeInt, 849 | PSBadgedTableCell._badgeNumberLabel, 850 | PSBarButtonSpinnerView._spinner, 851 | PSBrightnessController._brightnessChangedExternally, 852 | PSBrightnessController._isTracking, 853 | PSBulletedPINView._passcodeField, 854 | PSBundleController._parent, 855 | PSCapabilityManager._axCapabilityManager, 856 | PSCapabilityManager._overrideForAllBoolValues, 857 | PSCapabilityManager._overrides, 858 | PSCapacityBarCategory._bytes, 859 | PSCapacityBarCategory._color, 860 | PSCapacityBarCategory._identifier, 861 | PSCapacityBarCategory._title, 862 | PSCapacityBarCell._barHeightConstraint, 863 | PSCapacityBarCell._barView, 864 | PSCapacityBarCell._bigFont, 865 | PSCapacityBarCell._commonConstraints, 866 | PSCapacityBarCell._forceLoading, 867 | PSCapacityBarCell._hideLegend, 868 | PSCapacityBarCell._largeConstraints, 869 | PSCapacityBarCell._legendConstraints, 870 | PSCapacityBarCell._legendFont, 871 | PSCapacityBarCell._legendTextColor, 872 | PSCapacityBarCell._legendView, 873 | PSCapacityBarCell._legends, 874 | PSCapacityBarCell._loadingLabel, 875 | PSCapacityBarCell._normalConstraints, 876 | PSCapacityBarCell._otherLegend, 877 | PSCapacityBarCell._showOtherLegend, 878 | PSCapacityBarCell._sizeFormat, 879 | PSCapacityBarCell._sizeLabel, 880 | PSCapacityBarCell._sizesAreMem, 881 | PSCapacityBarCell._tableWidth, 882 | PSCapacityBarCell._titleLabel, 883 | PSCapacityBarData._adjustedCategories, 884 | PSCapacityBarData._bytesUsed, 885 | PSCapacityBarData._capacity, 886 | PSCapacityBarData._categories, 887 | PSCapacityBarData._categoryLimit, 888 | PSCapacityBarData._hideTinyCategories, 889 | PSCapacityBarData._orderedCategories, 890 | PSCapacityBarData._sortStyle, 891 | PSCapacityBarLegendView._legendColor, 892 | PSCapacityBarLegendView._legendLabel, 893 | PSCapacityBarView._barBackgroundColor, 894 | PSCapacityBarView._barData, 895 | PSCapacityBarView._barOtherDataColor, 896 | PSCapacityBarView._barSeparatorColor, 897 | PSCloudStorageOffersManager._commerceDelegate, 898 | PSCloudStorageOffersManager._delegate, 899 | PSCloudStorageOffersManager._requiredStorageThreshold, 900 | PSCloudStorageOffersManager._shouldOfferDeviceOffers, 901 | PSCloudStorageOffersManager._shouldOfferFamilySharePlansOnly, 902 | PSCloudStorageOffersManager._skipCompletionAlert, 903 | PSCloudStorageOffersManager._skipRetryWithoutToken, 904 | PSCloudStorageOffersManager._supportsModernAlerts, 905 | PSCloudSyncButton._controller, 906 | PSCloudSyncButton._delegate, 907 | PSCloudSyncButton._options, 908 | PSCloudSyncButton._syncEnabled, 909 | PSCloudSyncButton._syncError, 910 | PSCloudSyncController._delegate, 911 | PSConfirmationSpecifier._alternateButton, 912 | PSConfirmationSpecifier._cancelButton, 913 | PSConfirmationSpecifier._okButton, 914 | PSConfirmationSpecifier._prompt, 915 | PSConfirmationSpecifier._title, 916 | PSContactsPolicyController._controller, 917 | PSControlTableCell._control, 918 | PSCoreSpotlightIndexer._hasItemsQuery, 919 | PSCoreSpotlightIndexer._indexFromControllerLog, 920 | PSCoreSpotlightIndexer._prefsSearchableIndex, 921 | PSCoreSpotlightIndexer._searchQuery, 922 | PSCoreSpotlightIndexer._skipManifests, 923 | PSCoreSpotlightIndexer._spotlightIndexQueue, 924 | PSDateTimePickerCell._datePicker, 925 | PSDateTimePickerCell._titleLabel, 926 | PSDeleteButtonCell._buttonColor, 927 | PSDetailController._pane, 928 | PSDocumentsPolicyController._bundleIdentifier, 929 | PSDocumentsPolicyController._groupSpecifier, 930 | PSDocumentsPolicyController._isFirstSourceResults, 931 | PSDocumentsPolicyController._searchingContext, 932 | PSDocumentsPolicyController._selectedDocumentSource, 933 | PSDriverPolicyForApp._bundleIdentifier, 934 | PSDriverPolicyForApp._delegate, 935 | PSEditableListController._editBarButtonItem, 936 | PSEditableListController._editable, 937 | PSEditableListController._editingDisabled, 938 | PSEditableListController._previousRightBarButtonItems, 939 | PSEditableTableCell._controllerDelegate, 940 | PSEditableTableCell._delaySpecifierRelease, 941 | PSEditableTableCell._delegate, 942 | PSEditableTableCell._forceFirstResponder, 943 | PSEditableTableCell._realTarget, 944 | PSEditableTableCell._returnKeyTapped, 945 | PSEditableTableCell._targetSetter, 946 | PSEditableTableCell._textColor, 947 | PSEditableTableCell._valueChanged, 948 | PSEditingPane._delegate, 949 | PSEditingPane._requiresKeyboard, 950 | PSEditingPane._specifier, 951 | PSEditingPane._viewController, 952 | PSExpandableListGroup._collaspeAfterCount, 953 | PSExpandableListGroup._groupSpecifierID, 954 | PSExpandableListGroup._listController, 955 | PSExpandableListGroup._showAll, 956 | PSExpandableListGroup._showAllSpecifier, 957 | PSExpandableListGroup._specifiers, 958 | PSExpandableListGroup._spinnerSpecifier, 959 | PSFitnessPlusAnalyticsConsentCoordinator._acknowledgePrivacyTask, 960 | PSFooterHyperlinkView._URL, 961 | PSFooterHyperlinkView._action, 962 | PSFooterHyperlinkView._linkRange, 963 | PSFooterHyperlinkView._target, 964 | PSFooterHyperlinkView._text, 965 | PSFooterHyperlinkView._textView, 966 | PSFooterMultiHyperlinkView._URL, 967 | PSFooterMultiHyperlinkView._action, 968 | PSFooterMultiHyperlinkView._linkRange, 969 | PSFooterMultiHyperlinkView._linkSpecs, 970 | PSFooterMultiHyperlinkView._rangeLinkSpecMap, 971 | PSFooterMultiHyperlinkView._target, 972 | PSFooterMultiHyperlinkView._text, 973 | PSFooterMultiHyperlinkView._textView, 974 | PSFooterMultiHyperlinkViewLinkSpec._URL, 975 | PSFooterMultiHyperlinkViewLinkSpec._action, 976 | PSFooterMultiHyperlinkViewLinkSpec._linkRange, 977 | PSFooterMultiHyperlinkViewLinkSpec._target, 978 | PSInternationalLanguageController._checkedLanguage, 979 | PSInternationalLanguageController._contentView, 980 | PSInternationalLanguageController._deviceLanguages, 981 | PSInternationalLanguageController._filteredDeviceLanguages, 982 | PSInternationalLanguageController._languageSelector, 983 | PSInternationalLanguageController._localeSelector, 984 | PSInternationalLanguageController._savedSearchTerm, 985 | PSInternationalLanguageController._searchBar, 986 | PSInternationalLanguageController._searchIsActive, 987 | PSInternationalLanguageController._tableView, 988 | PSInternationalLanguageSetupController._languageSelector, 989 | PSKeyboardNavigationSearchController.searchBar, 990 | PSKeyboardNavigationSearchController.searchResultsController, 991 | PSKeychainSyncHeaderView._detailLabel, 992 | PSKeychainSyncHeaderView._titleLabel, 993 | PSKeychainSyncHeaderView._usesCompactLayout, 994 | PSKeychainSyncManager._advancedSecurityCodeChoiceController, 995 | PSKeychainSyncManager._appleIDPasswordOrEquivalentToken, 996 | PSKeychainSyncManager._appleIDRawPassword, 997 | PSKeychainSyncManager._appleIDUsername, 998 | PSKeychainSyncManager._buddyNavigationController, 999 | PSKeychainSyncManager._changeSecurityCodeCompletion, 1000 | PSKeychainSyncManager._circleJoinCompletion, 1001 | PSKeychainSyncManager._circleNotificationToken, 1002 | PSKeychainSyncManager._circleWasReset, 1003 | PSKeychainSyncManager._completion, 1004 | PSKeychainSyncManager._complexSecurityCodeController, 1005 | PSKeychainSyncManager._credentialExpirationTimer, 1006 | PSKeychainSyncManager._devicePinController, 1007 | PSKeychainSyncManager._flow, 1008 | PSKeychainSyncManager._hostViewController, 1009 | PSKeychainSyncManager._joinAfterRecoveryTimeoutTimer, 1010 | PSKeychainSyncManager._joiningCircle, 1011 | PSKeychainSyncManager._joiningCircleAfterRecovery, 1012 | PSKeychainSyncManager._passwordPromptCompletion, 1013 | PSKeychainSyncManager._phoneNumberController, 1014 | PSKeychainSyncManager._resetCompletion, 1015 | PSKeychainSyncManager._resetPromptControllerHost, 1016 | PSKeychainSyncManager._securityCodeRecoveryAttempt, 1017 | PSKeychainSyncManager._securityCodeRecoveryController, 1018 | PSKeychainSyncManager._settingsSetupController, 1019 | PSKeychainSyncManager._simpleSecurityCodeController, 1020 | PSKeychainSyncManager._smsValidationController, 1021 | PSKeychainSyncManager._spinnerCount, 1022 | PSKeychainSyncManager._spinningView, 1023 | PSKeychainSyncManager._stagedSecurityCode, 1024 | PSKeychainSyncManager._stagedSecurityCodeType, 1025 | PSKeychainSyncPhoneNumber._countryInfo, 1026 | PSKeychainSyncPhoneNumber._digits, 1027 | PSKeychainSyncSecurityCodeController._firstPasscodeEntry, 1028 | PSKeychainSyncSecurityCodeController._footerButton, 1029 | PSKeychainSyncSecurityCodeController._footerLabel, 1030 | PSKeychainSyncSecurityCodeController._generatedCode, 1031 | PSKeychainSyncSecurityCodeController._keyboardHeight, 1032 | PSKeychainSyncSecurityCodeController._mode, 1033 | PSKeychainSyncSecurityCodeController._securityCodeType, 1034 | PSKeychainSyncSecurityCodeController._showsAdvancedSettings, 1035 | PSKeychainSyncTextEntryController._convertsNumeralsToASCII, 1036 | PSKeychainSyncTextEntryController._hidesNextButton, 1037 | PSKeychainSyncTextEntryController._numberOfPasscodeFields, 1038 | PSKeychainSyncTextEntryController._secureTextEntry, 1039 | PSKeychainSyncTextEntryController._textEntryCell, 1040 | PSKeychainSyncTextEntryController._textEntrySpecifier, 1041 | PSKeychainSyncTextEntryController._textEntryType, 1042 | PSKeychainSyncTextEntryController._textEntryView, 1043 | PSKeychainSyncTextEntryController._textFieldHasRoundBorder, 1044 | PSKeychainSyncTextEntryController._textValue, 1045 | PSKeychainSyncViewController._delegate, 1046 | PSKeychainSyncViewController._groupSpecifier, 1047 | PSKeychainSyncViewController._headerView, 1048 | PSLanguage._languageCode, PSLanguage._languageName, 1049 | PSLanguage._localizedLanguageName, 1050 | PSLargeTextController._extendedRangeSliderListController, 1051 | PSLargeTextController._showsExtendedRangeSwitch, 1052 | PSLargeTextController._sliderListController, 1053 | PSLargeTextController._usesExtendedRange, 1054 | PSLargeTextSliderListController._contentSizeCategories, 1055 | PSLargeTextSliderListController._selectedCategoryIndex, 1056 | PSLargeTextSliderListController._showsExtendedRangeSwitch, 1057 | PSLargeTextSliderListController._showsLargerSizesHelpText, 1058 | PSLargeTextSliderListController._sliderGroupSpecifier, 1059 | PSLargeTextSliderListController._usesExtendedRange, 1060 | PSLargeTextSliderListController._viewIsDisappearing, 1061 | PSLazyImagePromise._image, 1062 | PSLazyImagePromise._imageBundle, 1063 | PSLazyImagePromise._imageLoaded, 1064 | PSLazyImagePromise._imageName, 1065 | PSLazyImagePromise._imagePath, 1066 | PSLazyImagePromise._loadBlock, 1067 | PSLegalMessagePane._webView, 1068 | PSLegendColorView._color, 1069 | PSListController._altTextColor, 1070 | PSListController._appearanceProvider, 1071 | PSListController._backgroundColor, 1072 | PSListController._bundleControllers, 1073 | PSListController._bundlesLoaded, 1074 | PSListController._buttonTextColor, 1075 | PSListController._cachesCells, 1076 | PSListController._cellAccessoryColor, 1077 | PSListController._cellAccessoryHighlightColor, 1078 | PSListController._cellHighlightColor, 1079 | PSListController._cells, 1080 | PSListController._containerView, 1081 | PSListController._contentOffsetWithKeyboard, 1082 | PSListController._contentSizeDidChange, 1083 | PSListController._dataSource, 1084 | PSListController._edgeToEdgeCells, 1085 | PSListController._editableInsertionPointColor, 1086 | PSListController._editablePlaceholderTextColor, 1087 | PSListController._editableSelectionBarColor, 1088 | PSListController._editableSelectionHighlightColor, 1089 | PSListController._editableTextColor, 1090 | PSListController._footerHyperlinkColor, 1091 | PSListController._forceSynchronousIconLoadForCreatedCells, 1092 | PSListController._foregroundColor, 1093 | PSListController._groups, 1094 | PSListController._hasAppeared, 1095 | PSListController._highlightItemName, 1096 | PSListController._isVisible, 1097 | PSListController._keyboard, 1098 | PSListController._keyboardWasVisible, 1099 | PSListController._navigationCoordinator, 1100 | PSListController._offsetItemName, 1101 | PSListController._padSelectionColor, 1102 | PSListController._pendingURLResourceDictionary, 1103 | PSListController._popupIsModal, 1104 | PSListController._prefetchingEnabled, 1105 | PSListController._prequeuedReusablePSTableCells, 1106 | PSListController._requestingSpecifiersFromDataSource, 1107 | PSListController._reusesCells, 1108 | PSListController._savedSelectedIndexPath, 1109 | PSListController._sectionContentInsetInitialized, 1110 | PSListController._segmentedSliderTrackColor, 1111 | PSListController._separatorColor, 1112 | PSListController._showingSetupController, 1113 | PSListController._specifierID, 1114 | PSListController._specifierIDPendingPush, 1115 | PSListController._specifiers, 1116 | PSListController._specifiersByID, 1117 | PSListController._table, PSListController._textColor, 1118 | PSListController._urlHandler, 1119 | PSListController._urlHandlingCompletion, 1120 | PSListController._usesDarkTheme, 1121 | PSListController._verticalContentOffset, 1122 | PSListItemsController._deferItemSelection, 1123 | PSListItemsController._lastSelectedSpecifier, 1124 | PSListItemsController._restrictionList, 1125 | PSListItemsController._retainedTarget, 1126 | PSListItemsController._rowToSelect, 1127 | PSLocaleController._contentView, 1128 | PSLocaleController._currentRegion, 1129 | PSLocaleController._filteredListContent, 1130 | PSLocaleController._hideKeyboardInSearchMode, 1131 | PSLocaleController._localeSelector, 1132 | PSLocaleController._regionsList, 1133 | PSLocaleController._searchBar, 1134 | PSLocaleController._searchMode, 1135 | PSLocaleController._sections, 1136 | PSLocaleController._tableView, 1137 | PSNavBarSpinnerManager._savedRecords, 1138 | PSNotificationSettingsController._gateway, 1139 | PSNotificationSettingsController._queue, 1140 | PSNotificationSettingsController._sectionInfosByIdentifier, 1141 | PSOAuthAccountRedirectURLController._redirectHandlerMap, 1142 | PSPasscodeField._dashViews, 1143 | PSPasscodeField._delegate, 1144 | PSPasscodeField._digitViews, 1145 | PSPasscodeField._dotFullViews, 1146 | PSPasscodeField._dotOutlineViews, 1147 | PSPasscodeField._enabled, 1148 | PSPasscodeField._fieldSpacing, 1149 | PSPasscodeField._foregroundColor, 1150 | PSPasscodeField._keyboardAppearance, 1151 | PSPasscodeField._numberOfEntryFields, 1152 | PSPasscodeField._securePasscodeEntry, 1153 | PSPasscodeField._shouldBecomeFirstResponderOnTap, 1154 | PSPasscodeField._stringValue, 1155 | PSPhoneNumberSpecifier._countryCode, 1156 | PSPhotoServicesAuthorizationLevelController._clientIdentifier, 1157 | PSPhotoServicesAuthorizationLevelController._details, 1158 | PSPhotoServicesAuthorizationLevelController._displayName, 1159 | PSPhotoServicesAuthorizationLevelController._entityBundle, 1160 | PSPhotoServicesAuthorizationLevelController._modifySelectionButton, 1161 | PSPhotoServicesAuthorizationLevelController._modifySelectionSpecifiers, 1162 | PSQuotaInfo._mediaKindDict, 1163 | PSQuotaInfo._totalStorage, PSQuotaInfo._usedStorage, 1164 | PSRegion._regionCode, PSRegion._regionName, 1165 | PSRootController._deallocating, 1166 | PSRootController._specifier, 1167 | PSRootController._stackAnimationController, 1168 | PSRootController._supportedOrientationsOverride, 1169 | PSRootController._tasks, 1170 | PSSearchController._delegate, 1171 | PSSearchController._iconForSearchEntryHandler, 1172 | PSSearchController._listController, 1173 | PSSearchController._notifyToken, 1174 | PSSearchController._resultsController, 1175 | PSSearchController._searchController, 1176 | PSSearchController._searchEnabled, 1177 | PSSearchEntry._action, 1178 | PSSearchEntry._additionalDetailTextComponents, 1179 | PSSearchEntry._bundleName, 1180 | PSSearchEntry._childEntries, 1181 | PSSearchEntry._groupName, 1182 | PSSearchEntry._groupSpecifier, 1183 | PSSearchEntry._hasDetailController, 1184 | PSSearchEntry._hasListController, 1185 | PSSearchEntry._identifier, PSSearchEntry._isRootURL, 1186 | PSSearchEntry._isSection, PSSearchEntry._keywords, 1187 | PSSearchEntry._manifestBundleName, 1188 | PSSearchEntry._name, PSSearchEntry._parentEntry, 1189 | PSSearchEntry._plistName, 1190 | PSSearchEntry._sectionIdentifier, 1191 | PSSearchEntry._specifier, PSSearchEntry._url, 1192 | PSSearchIndexOperation._delegate, 1193 | PSSearchIndexOperation._searchEntry, 1194 | PSSearchModel._activeSearchOperation, 1195 | PSSearchModel._currentQuery, 1196 | PSSearchModel._currentResults, 1197 | PSSearchModel._dataSource, 1198 | PSSearchModel._deferredSpecifierUpdates, 1199 | PSSearchModel._delegates, 1200 | PSSearchModel._entriesBeingIndexed, 1201 | PSSearchModel._entriesPendingSearch, 1202 | PSSearchModel._hasLoadedRootEntries, 1203 | PSSearchModel._hasStartedIndexing, 1204 | PSSearchModel._indexOperationQueue, 1205 | PSSearchModel._indexing, 1206 | PSSearchModel._indexingEntriesWithLoadedDataSources, 1207 | PSSearchModel._queryForCurrentResults, 1208 | PSSearchModel._removedEntriesStillIndexing, 1209 | PSSearchModel._removedEntriesStillSearching, 1210 | PSSearchModel._rootEntries, 1211 | PSSearchModel._searchOperationQueue, 1212 | PSSearchModel._searchStateAccessQueue, 1213 | PSSearchModel._showSectionInDetailText, 1214 | PSSearchModel._specifierDataSources, 1215 | PSSearchModel._waitUntilFinished, 1216 | PSSearchOperation._currentResults, 1217 | PSSearchOperation._delegate, 1218 | PSSearchOperation._newQuery, 1219 | PSSearchOperation._query, 1220 | PSSearchOperation._rootEntries, 1221 | PSSearchResults._entriesBySection, 1222 | PSSearchResults._entryComparator, 1223 | PSSearchResults._explicitlyAddedSectionEntries, 1224 | PSSearchResults._needsSorting, 1225 | PSSearchResults._sectionComparator, 1226 | PSSearchResults._sectionEntries, 1227 | PSSearchResults._treatSectionEntriesAsRegularEntries, 1228 | PSSearchResultsCell._shouldIndentContent, 1229 | PSSearchResultsCell._shouldIndentSeparator, 1230 | PSSearchResultsController._delegate, 1231 | PSSearchResultsController._iconViewMap, 1232 | PSSearchResultsController._reusableIconViews, 1233 | PSSearchResultsController._searchResults, 1234 | PSSearchResultsController._tableView, 1235 | PSSearchableItem._bundleID, 1236 | PSSearchableItem._category, 1237 | PSSearchableItem._classIdentifier, 1238 | PSSearchableItem._contentDescription, 1239 | PSSearchableItem._identifier, 1240 | PSSearchableItem._keywords, PSSearchableItem._name, 1241 | PSSearchableItem._rankingHint, 1242 | PSSearchableItem._requiredCapabilities, 1243 | PSSearchableItem._requiredCapabilitiesOr, 1244 | PSSearchableItem._url, 1245 | PSSearchableItemManifest._searchableItems, 1246 | PSSegmentTableCell._titleDict, 1247 | PSSegmentTableCell._values, 1248 | PSSegmentableSlider._feedbackGenerator, 1249 | PSSegmentableSlider._locksToSegment, 1250 | PSSegmentableSlider._segmentCount, 1251 | PSSegmentableSlider._segmented, 1252 | PSSegmentableSlider._snapsToSegment, 1253 | PSSegmentableSlider._trackMarkersColor, 1254 | PSSetupController._parentController, 1255 | PSSetupController._parentRootController, 1256 | PSSetupController._rootInfo, 1257 | PSSliderTableCell._disabledView, 1258 | PSSoftwareUpdateAnimatedIcon._animating, 1259 | PSSoftwareUpdateAnimatedIcon._innerGearView, 1260 | PSSoftwareUpdateAnimatedIcon._outerGearShadowView, 1261 | PSSoftwareUpdateAnimatedIcon._outerGearView, 1262 | PSSoftwareUpdateLicenseViewController._licenseTextInfo, 1263 | PSSoftwareUpdateLicenseViewController._licenseTextView, 1264 | PSSoftwareUpdateReleaseNotesDetail._releaseNotes, 1265 | PSSoftwareUpdateTableView._checkingForUpdateSpinner, 1266 | PSSoftwareUpdateTableView._checkingStatusLabel, 1267 | PSSoftwareUpdateTableView._currentVersion, 1268 | PSSoftwareUpdateTableView._state, 1269 | PSSoftwareUpdateTableView._subtitleLabel, 1270 | PSSoftwareUpdateTableView._updatesDeferred, 1271 | PSSoftwareUpdateTermsManager._agreeToCombinedTOSInProgress, 1272 | PSSoftwareUpdateTermsManager._hostController, 1273 | PSSoftwareUpdateTermsManager._overrideNextRUIAction, 1274 | PSSoftwareUpdateTermsManager._presentedViewController, 1275 | PSSoftwareUpdateTermsManager._serverFlowStyle, 1276 | PSSoftwareUpdateTermsManager._showProgressViewController, 1277 | PSSoftwareUpdateTermsManager._termsCompletion, 1278 | PSSoftwareUpdateTermsManager._termsRemoteUI, 1279 | PSSoftwareUpdateTermsManager._update, 1280 | PSSoftwareUpdateTitleCell._animatedGearView, 1281 | PSSoftwareUpdateTitleCell._animatingGearView, 1282 | PSSoftwareUpdateTitleCell._gearBackgroundImageView, 1283 | PSSoftwareUpdateTitleCell._progressBar, 1284 | PSSoftwareUpdateTitleCell._progressStyle, 1285 | PSSoftwareUpdateTitleCell._releaseNotesSummaryView, 1286 | PSSoftwareUpdateTitleCell._updateStatusLabel, 1287 | PSSoftwareUpdateTitleCell._updateStatusLabelVerticalConstraint, 1288 | PSSpecifier._buttonAction, 1289 | PSSpecifier._confirmationAction, 1290 | PSSpecifier._confirmationAlternateAction, 1291 | PSSpecifier._confirmationCancelAction, 1292 | PSSpecifier._controllerLoadAction, PSSpecifier._name, 1293 | PSSpecifier._properties, PSSpecifier._shortTitleDict, 1294 | PSSpecifier._showContentString, 1295 | PSSpecifier._titleDict, PSSpecifier._userInfo, 1296 | PSSpecifier._values, PSSpecifier._weakUserInfo, 1297 | PSSpecifier.action, PSSpecifier.autoCapsType, 1298 | PSSpecifier.autoCorrectionType, PSSpecifier.cancel, 1299 | PSSpecifier.cellType, 1300 | PSSpecifier.detailControllerClass, 1301 | PSSpecifier.editPaneClass, PSSpecifier.getter, 1302 | PSSpecifier.keyboardType, PSSpecifier.setter, 1303 | PSSpecifier.target, PSSpecifier.textFieldType, 1304 | PSSpecifierAction._getter, PSSpecifierAction._setter, 1305 | PSSpecifierController._bundleControllers, 1306 | PSSpecifierController._groups, 1307 | PSSpecifierController._specifier, 1308 | PSSpecifierController._specifiers, 1309 | PSSpecifierController._viewController, 1310 | PSSpecifierDataSource._observerRefs, 1311 | PSSpecifierDataSource._specifiers, 1312 | PSSpecifierDataSource._specifiersLoaded, 1313 | PSSpecifierGroupIndex._groupSections, 1314 | PSSpecifierGroupIndex._groupSpecifiers, 1315 | PSSpecifierGroupIndex._specifiers, 1316 | PSSpecifierGroupIndex._ungroupedPrefixSpecifiers, 1317 | PSSpecifierGroupIndex._wantsDebugCallbacks, 1318 | PSSpecifierUpdateContext._animated, 1319 | PSSpecifierUpdateContext._updateModelOnly, 1320 | PSSpecifierUpdateContext._userInfo, 1321 | PSSpecifierUpdateOperation._index, 1322 | PSSpecifierUpdateOperation._operation, 1323 | PSSpecifierUpdateOperation._removingGroupSpecifierRemovesEntireGroup, 1324 | PSSpecifierUpdateOperation._specifier, 1325 | PSSpecifierUpdateOperation._toIndex, 1326 | PSSpecifierUpdates._context, 1327 | PSSpecifierUpdates._currentSpecifiers, 1328 | PSSpecifierUpdates._groupIndex, 1329 | PSSpecifierUpdates._originalSpecifiers, 1330 | PSSpecifierUpdates._updates, 1331 | PSSpecifierUpdates._wantsDebugCallbacks, 1332 | PSSpinnerRecord._hidesBackButton, 1333 | PSSpinnerRecord._leftItems, 1334 | PSSpinnerRecord._navigationItem, 1335 | PSSpinnerRecord._rightItems, 1336 | PSSpinnerTableCell._spinner, 1337 | PSSplitViewController._containerNavigationController, 1338 | PSSplitViewController._navigationDelegate, 1339 | PSSpotlightSearchResultsController._delegate, 1340 | PSSpotlightSearchResultsController._deviceOrientation, 1341 | PSSpotlightSearchResultsController._iconViewMap, 1342 | PSSpotlightSearchResultsController._results, 1343 | PSSpotlightSearchResultsController._reusableIconViews, 1344 | PSSpotlightSearchResultsController._tableData, 1345 | PSSpotlightSearchResultsController.originalInset, 1346 | PSStackPushAnimationController._animationPreset, 1347 | PSStackPushAnimationController._animationsToRunAlongsideToVC, 1348 | PSStackPushAnimationController._completionBlock, 1349 | PSStackPushAnimationController._completionStagger, 1350 | PSStackPushAnimationController._hasStartedAnimation, 1351 | PSStackPushAnimationController._navigationController, 1352 | PSStackPushAnimationController._pushDuration, 1353 | PSStackPushAnimationController._snapshots, 1354 | PSStackPushAnimationController._springDamping, 1355 | PSStackPushAnimationController._startStagger, 1356 | PSStackPushAnimationController._viewControllers, 1357 | PSSubtitleDisclosureTableCell._valueLabel, 1358 | PSSwitchTableCell._activityIndicator, 1359 | PSSystemConfiguration._prefs, 1360 | PSSystemConfigurationDynamicStoreEthernetWatcher._dynamicStore, 1361 | PSSystemConfigurationDynamicStoreEthernetWatcher._dynamicStoreSource, 1362 | PSSystemConfigurationDynamicStoreNETRBWatcher._netrbReason, 1363 | PSSystemConfigurationDynamicStoreNETRBWatcher._netrbState, 1364 | PSSystemConfigurationDynamicStoreNETRBWatcher._scDynamicStore, 1365 | PSSystemConfigurationDynamicStoreNETRBWatcher._scRunLoopSource, 1366 | PSSystemConfigurationDynamicStoreWifiWatcher._prefs, 1367 | PSSystemConfigurationDynamicStoreWifiWatcher._tetheringLink, 1368 | PSSystemConfigurationDynamicStoreWifiWatcher._wifiInterface, 1369 | PSSystemConfigurationDynamicStoreWifiWatcher._wifiKey, 1370 | PSSystemPolicyForApp.__bbObserver, 1371 | PSSystemPolicyForApp._accountEnumerator, 1372 | PSSystemPolicyForApp._appUserDefaults, 1373 | PSSystemPolicyForApp._bundleIdentifier, 1374 | PSSystemPolicyForApp._cinematicFramingSpecifier, 1375 | PSSystemPolicyForApp._contactsPrivacyController, 1376 | PSSystemPolicyForApp._containerPathForCurrentApp, 1377 | PSSystemPolicyForApp._delegate, 1378 | PSSystemPolicyForApp._enServiceMatched, 1379 | PSSystemPolicyForApp._forcePolicyOptions, 1380 | PSSystemPolicyForApp._matchingBundleIdentifier, 1381 | PSSystemPolicyForApp._pathControllerConfiguration, 1382 | PSSystemPolicyForApp._photosPrivacyController, 1383 | PSSystemPolicyForApp._policyOptions, 1384 | PSTableCell._alignment, PSTableCell._cellEnabled, 1385 | PSTableCell._checked, PSTableCell._checkedImageView, 1386 | PSTableCell._constraints, 1387 | PSTableCell._customHighlightContext, 1388 | PSTableCell._forceHideDisclosureIndicator, 1389 | PSTableCell._hiddenTitle, PSTableCell._isCopyable, 1390 | PSTableCell._lazyIcon, PSTableCell._lazyIconAppID, 1391 | PSTableCell._lazyIconDontUnload, 1392 | PSTableCell._lazyIconForceSynchronous, 1393 | PSTableCell._lazyIconURL, 1394 | PSTableCell._longTapRecognizer, PSTableCell._pAction, 1395 | PSTableCell._pTarget, PSTableCell._reusedCell, 1396 | PSTableCell._shouldHideTitle, PSTableCell._specifier, 1397 | PSTableCell._type, PSTableCell._urlSession, 1398 | PSTableCell._value, 1399 | PSTableCellHighlightContext._animateUnhighlight, 1400 | PSTableCellHighlightContext._cell, 1401 | PSTableCellHighlightContext._originalSelectionStyle, 1402 | PSTableCellHighlightContext._timer, 1403 | PSTableCellHighlightContext._valid, 1404 | PSTextEditingPane._cell, PSTextEditingPane._table, 1405 | PSTextEditingPane._textField, 1406 | PSTextFieldPINView._cell, 1407 | PSTextFieldPINView._passcodeField, 1408 | PSTextFieldPINView._table, 1409 | PSTextFieldPINView._usesNumericKeyboard, 1410 | PSTextFieldSpecifier._placeholder, 1411 | PSTextFieldSpecifier.bestGuess, PSTextView._cell, 1412 | PSTextViewPane._textView, 1413 | PSTextViewTableCell._textView, 1414 | PSThirdPartyApp._localizedName, 1415 | PSThirdPartyApp._proxy, 1416 | PSThirdPartyAppController._appPolicy, 1417 | PSThirdPartyAppController._driverPolicy, 1418 | PSThirdPartyAppController._systemPolicy, 1419 | PSTimeRangeCell._constraints, 1420 | PSTimeRangeCell._delegate, PSTimeRangeCell._fromTime, 1421 | PSTimeRangeCell._fromTitle, PSTimeRangeCell._toTime, 1422 | PSTimeRangeCell._toTitle, 1423 | PSTimeZoneController._cities, 1424 | PSTimeZoneController._parentController, 1425 | PSTimeZoneController._searchController, 1426 | PSTimeZoneController._specifier, 1427 | PSTimeZoneTableCell._city, 1428 | PSTrackingWelcomeController._controller, 1429 | PSURLControllerHandler._delegate, 1430 | PSURLManager._rootController, 1431 | PSURLManager._splitViewController, 1432 | PSURLManager._topLevelController, 1433 | PSUsageBundleApp._bundleIdentifier, 1434 | PSUsageBundleApp._categories, 1435 | PSUsageBundleApp._deletionRestricted, 1436 | PSUsageBundleApp._name, 1437 | PSUsageBundleApp._storageReporterReference, 1438 | PSUsageBundleApp._totalSize, 1439 | PSUsageBundleCategory._identifier, 1440 | PSUsageBundleCategory._name, 1441 | PSUsageBundleCategory._usageBundleApp, 1442 | PSUsageBundleManager._bundleMap, 1443 | PSUsageBundleManager._storageReporters, 1444 | PSUsageBundleManager._usageBundleApps, 1445 | PSUsageSizeHeader.__internalStackView, 1446 | PSUsageSizeHeader._sizeLabel, 1447 | PSUsageSizeHeader._titleLabel, 1448 | PSViewController._parentController, 1449 | PSViewController._rootController, 1450 | PSViewController._specifier, 1451 | PSWeakReference._location, 1452 | PSWebContainerView._content, 1453 | PSWebContainerView._webView, 1454 | PasscodeFieldCell._convertsNumeralsToASCII, 1455 | PasscodeFieldCell._delegate, 1456 | PasscodeFieldCell._denyFirstResponder, 1457 | PasscodeFieldCell._passcodeField, 1458 | PrefsUILinkLabel._URL, PrefsUILinkLabel._action, 1459 | PrefsUILinkLabel._target, 1460 | PrefsUILinkLabel._touchingURL, PrefsUILinkLabel._url, 1461 | ProblemReportingController._aboutDiagnosticsLinkLabel, 1462 | ProblemReportingController._appActivitySpecifiers, 1463 | ProblemReportingController._assistantSettingsConnection, 1464 | ProblemReportingController._automatedFeedbackSpecifiers, 1465 | ProblemReportingController._baseSpecifiers, 1466 | ProblemReportingController._filesystemMetadataSnapshotSpecifier, 1467 | ProblemReportingController._fitnessPlusAnalyticsConsentCoordinator, 1468 | ProblemReportingController._fitnessPlusDataSpecifiers, 1469 | ProblemReportingController._handwashingDataSpecifiers, 1470 | ProblemReportingController._healthDataSpecifiers, 1471 | ProblemReportingController._healthRecordsDataSpecifiers, 1472 | ProblemReportingController._healthStore, 1473 | ProblemReportingController._iCloudSpecifiers, 1474 | ProblemReportingController._identityProofingDataSharingManager, 1475 | ProblemReportingController._identityVerificationDataSpecifiers, 1476 | ProblemReportingController._improveSiriSpecifiers, 1477 | ProblemReportingController._safetyDataSpecifiers, 1478 | ProblemReportingController._shouldShareHealthRecordsData, 1479 | ProblemReportingController._spinnerSpecifier, 1480 | ProblemReportingController._wheelchairDataSpecifiers, 1481 | SUIKSearchResultCollectionViewListCell._searchableItem, 1482 | SUIKSearchResultCollectionViewSectionHeader._categoryImageView, 1483 | SUIKSearchResultsCollectionViewController._delegate, 1484 | SUIKSearchResultsCollectionViewController._diffableDataSource, 1485 | SUIKSearchResultsCollectionViewController._updateOperation, 1486 | _PSDeferredUpdates._invalidatedSpecifiers, 1487 | _PSDeferredUpdates._searchEntries, 1488 | _PSDeferredUpdates._specifierUpdates, 1489 | _PSSpinnerViewController._spinner, 1490 | _SUIKSearchResultsUpdateOperation._delegate, 1491 | _SUIKSearchResultsUpdateOperation._diffableDataSource, 1492 | _SUIKSearchResultsUpdateOperation._results ] 1493 | ... 1494 | -------------------------------------------------------------------------------- /IconRestorePrefs/Makefile: -------------------------------------------------------------------------------- 1 | ifeq ($(THEOS_DEVICE_SIMULATOR),1) 2 | TARGET := simulator:clang:latest:14.0 3 | ARCHS := arm64 4 | else 5 | TARGET := iphone:clang:16.5:14.0 6 | INSTALL_TARGET_PROCESSES := Preferences 7 | ARCHS := arm64 arm64e 8 | endif 9 | 10 | include $(THEOS)/makefiles/common.mk 11 | 12 | BUNDLE_NAME := IconRestorePrefs 13 | 14 | IconRestorePrefs_FILES += IconRestoreRootListController.m 15 | IconRestorePrefs_CFLAGS += -fobjc-arc 16 | 17 | ifeq ($(THEOS_DEVICE_SIMULATOR),1) 18 | IconRestorePrefs_CFLAGS += -DIPHONE_SIMULATOR_ROOT=\"$(IPHONE_SIMULATOR_ROOT)\" 19 | IconRestorePrefs_LDFLAGS += -FLibrary/_Simulator 20 | endif 21 | 22 | IconRestorePrefs_FRAMEWORKS += UIKit 23 | IconRestorePrefs_PRIVATE_FRAMEWORKS += CoreServices 24 | IconRestorePrefs_PRIVATE_FRAMEWORKS += Preferences 25 | IconRestorePrefs_INSTALL_PATH += /Library/PreferenceBundles 26 | 27 | include $(THEOS_MAKE_PATH)/bundle.mk -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | IconRestorePrefs 9 | CFBundleIdentifier 10 | com.82flex.iconrestoreprefs 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | NSPrincipalClass 22 | IconRestoreRootListController 23 | 24 | 25 | -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/Root.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | items 6 | 7 | 8 | cell 9 | PSGroupCell 10 | label 11 | 12 | 13 | 14 | cell 15 | PSButtonCell 16 | label 17 | Create New Layout 18 | action 19 | saveCurrentLayout 20 | 21 | 22 | 23 | cell 24 | PSGroupCell 25 | key 26 | __savepoints__ 27 | label 28 | All Layouts 29 | 30 | 31 | cell 32 | PSGroupCell 33 | label 34 | 35 | footerText 36 | Please support our paid works, thank you! 37 | 38 | 39 | cell 40 | PSButtonCell 41 | label 42 | Made with ♥ by OwnGoal Studio 43 | action 44 | support 45 | 46 | 47 | title 48 | Icon Restore 49 | 50 | 51 | -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* No comment provided by engineer. */ 2 | "CFBundleDisplayName" = "Icon Restore"; 3 | -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/en.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | "Icon Restore" = "Icon Restore"; 2 | "Cancel" = "Cancel"; 3 | "Please support our paid works, thank you!" = "Please support our paid works, thank you!"; 4 | "Made with ♥ by OwnGoal Studio" = "Made with ♥ by OwnGoal Studio"; 5 | "All Layouts" = "All Layouts"; 6 | "Create New Layout" = "Create New Layout"; 7 | "Restore Layout" = "Restore Layout"; 8 | "Are you sure you want to restore to this icon layout?" = "Are you sure you want to restore to this icon layout?"; 9 | "Apply" = "Apply"; 10 | "Enter a name for this layout, or leave it blank." = "Enter a name for this layout, or leave it blank."; 11 | "Layout Name" = "Layout Name"; 12 | "Save" = "Save"; 13 | -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OwnGoalStudio/IconRestore/5275c45bac8b3c384fccda4b3751c62666427133/IconRestorePrefs/Resources/icon@2x.png -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/icon@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OwnGoalStudio/IconRestore/5275c45bac8b3c384fccda4b3751c62666427133/IconRestorePrefs/Resources/icon@3x.png -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/zh-Hans.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* No comment provided by engineer. */ 2 | "CFBundleDisplayName" = "图标时光机"; 3 | -------------------------------------------------------------------------------- /IconRestorePrefs/Resources/zh-Hans.lproj/Root.strings: -------------------------------------------------------------------------------- 1 | "Icon Restore" = "图标时光机"; 2 | "Cancel" = "取消"; 3 | "Please support our paid works, thank you!" = "请支持我们的其他付费作品,谢谢!"; 4 | "Made with ♥ by OwnGoal Studio" = "「乌龙工作室」倾情献制"; 5 | "All Layouts" = "所有布局"; 6 | "Create New Layout" = "创建新布局"; 7 | "Restore Layout" = "恢复布局"; 8 | "Are you sure you want to restore to this icon layout?" = "你确定要恢复此图标布局吗?"; 9 | "Apply" = "应用"; 10 | "Enter a name for this layout, or leave it blank." = "为此布局输入名称,或留空。"; 11 | "Layout Name" = "布局名称"; 12 | "Save" = "保存"; 13 | -------------------------------------------------------------------------------- /IconRestorePrefs/layout/Library/PreferenceLoader/Preferences/IconRestorePrefs/Root.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | entry 6 | 7 | bundle 8 | IconRestorePrefs 9 | cell 10 | PSLinkCell 11 | detail 12 | IconRestoreRootListController 13 | icon 14 | icon.png 15 | isController 16 | 17 | label 18 | Icon Restore 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 i_82 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | export PACKAGE_VERSION := 1.7 2 | 3 | ifeq ($(THEOS_DEVICE_SIMULATOR),1) 4 | TARGET := simulator:clang:latest:14.0 5 | ARCHS := arm64 6 | IPHONE_SIMULATOR_ROOT := $(shell devkit/sim-root.sh) 7 | export IPHONE_SIMULATOR_ROOT 8 | else 9 | TARGET := iphone:clang:latest:14.0 10 | INSTALL_TARGET_PROCESSES := SpringBoard 11 | ARCHS := arm64 arm64e 12 | endif 13 | 14 | include $(THEOS)/makefiles/common.mk 15 | 16 | SUBPROJECTS += IconRestorePrefs 17 | 18 | include $(THEOS_MAKE_PATH)/aggregate.mk 19 | 20 | TWEAK_NAME := IconRestore 21 | 22 | IconRestore_FILES += IconRestore.x 23 | IconRestore_CFLAGS += -fobjc-arc 24 | 25 | include $(THEOS_MAKE_PATH)/tweak.mk 26 | 27 | export THEOS_OBJ_DIR 28 | after-all:: 29 | @devkit/sim-install.sh 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Icon Restore 2 | 3 | Save and restore the layout of your icons. 4 | 5 | Just need a simple tweak to backup or restore your home screen icon layouts? **That's it.** 6 | 7 | Note that this tweak may have conflicts with other icon layout tweaks. 8 | -------------------------------------------------------------------------------- /devkit/env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export THEOS=$HOME/theos 4 | export THEOS_PACKAGE_SCHEME= 5 | export THEOS_DEVICE_IP=127.0.0.1 6 | export THEOS_DEVICE_PORT=58422 7 | export THEOS_DEVICE_SIMULATOR= 8 | -------------------------------------------------------------------------------- /devkit/roothide.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export THEOS=$HOME/theos-roothide 4 | export THEOS_PACKAGE_SCHEME=roothide 5 | export THEOS_DEVICE_IP=127.0.0.1 6 | export THEOS_DEVICE_PORT=58422 7 | export THEOS_DEVICE_SIMULATOR= 8 | -------------------------------------------------------------------------------- /devkit/rootless.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export THEOS=$HOME/theos 4 | export THEOS_PACKAGE_SCHEME=rootless 5 | export THEOS_DEVICE_IP=127.0.0.1 6 | export THEOS_DEVICE_PORT=58422 7 | export THEOS_DEVICE_SIMULATOR= 8 | -------------------------------------------------------------------------------- /devkit/sim-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z "$THEOS_DEVICE_SIMULATOR" ]; then 4 | exit 0 5 | fi 6 | 7 | cd $(dirname $0)/.. 8 | 9 | TWEAK_NAMES="IconRestore" 10 | 11 | for TWEAK_NAME in $TWEAK_NAMES; do 12 | sudo rm -f /opt/simject/$TWEAK_NAME.dylib 13 | sudo cp -v $THEOS_OBJ_DIR/$TWEAK_NAME.dylib /opt/simject/$TWEAK_NAME.dylib 14 | sudo codesign -f -s - /opt/simject/$TWEAK_NAME.dylib 15 | sudo cp -v $PWD/$TWEAK_NAME.plist /opt/simject 16 | done 17 | 18 | BUNDLE_NAMES="IconRestorePrefs" 19 | 20 | for BUNDLE_NAME in $BUNDLE_NAMES; do 21 | sudo rm -rf /opt/simject/PreferenceBundles/$BUNDLE_NAME.bundle 22 | sudo cp -rv $THEOS_OBJ_DIR/$BUNDLE_NAME.bundle /opt/simject/PreferenceBundles/$BUNDLE_NAME.bundle 23 | sudo codesign -f -s - /opt/simject/PreferenceBundles/$BUNDLE_NAME.bundle 24 | done 25 | 26 | sudo cp -rv $PWD/IconRestorePrefs/layout/Library/PreferenceLoader/Preferences/IconRestorePrefs /opt/simject/PreferenceLoader/Preferences/ 27 | 28 | resim 29 | -------------------------------------------------------------------------------- /devkit/sim-launch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -z "$THEOS_DEVICE_SIMULATOR" ]; then 4 | exit 0 5 | fi 6 | 7 | cd $(dirname $0)/.. 8 | 9 | DEVICE_ID="5B06938E-E08D-4E4E-A99C-F375CB47565B" 10 | XCODE_PATH=$(xcode-select -p) 11 | 12 | xcrun simctl boot $DEVICE_ID 13 | open $XCODE_PATH/Applications/Simulator.app 14 | -------------------------------------------------------------------------------- /devkit/sim-root.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | SIMULATOR_IDS=$(xcrun simctl list devices available | grep -E Booted | sed "s/^[ \t]*//" | tr " " "\n") 4 | 5 | REAL_SIMULATOR_ID= 6 | for SIMULATOR_ID in $SIMULATOR_IDS; do 7 | SIMULATOR_ID=$(echo $SIMULATOR_ID | sed 's/[()]//g') 8 | if [[ $SIMULATOR_ID =~ ^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$ ]]; then 9 | REAL_SIMULATOR_ID=$SIMULATOR_ID 10 | break 11 | fi 12 | done 13 | 14 | if [ -z $REAL_SIMULATOR_ID ]; then 15 | echo "No booted simulator found" 16 | exit 1 17 | fi 18 | 19 | SIMULATOR_DATA_PATH=$HOME/Library/Developer/CoreSimulator/Devices/$SIMULATOR_ID/data 20 | 21 | ln -sfn .. $SIMULATOR_DATA_PATH/var/mobile 22 | 23 | echo $SIMULATOR_DATA_PATH 24 | -------------------------------------------------------------------------------- /devkit/simulator.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | export THEOS=$HOME/theos 4 | export THEOS_PACKAGE_SCHEME= 5 | export THEOS_DEVICE_IP= 6 | export THEOS_DEVICE_PORT= 7 | export THEOS_DEVICE_SIMULATOR=1 8 | -------------------------------------------------------------------------------- /layout/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: com.82flex.iconrestore 2 | Name: Icon Restore 3 | Version: 1.0 4 | Architecture: iphoneos-arm 5 | Description: Save and restore the layout of your icons. 6 | Maintainer: Lessica <82flex@gmail.com> 7 | Author: Lessica <82flex@gmail.com> 8 | Section: Tweaks 9 | Depends: firmware (>= 14.0), mobilesubstrate 10 | --------------------------------------------------------------------------------