
Choicy
iOS 10 - iOS 16
An advanced jailbreak plugin configuration tool!
Photo Demo

Functional characteristics
- Disable plug-in injection for each process individually
- Configure each plug-in's dynamic library (dylib) separately for each process
- Global disabling of plug-ins (exceptions can be set for specific processes)
- Provide application shortcut option: support one-time launch of application with/without plug-in
Installation Tutorial
- leave forSoftware Source CollectionPage Find Alien Sources Add to Cydia/Sileo
- Search for Choicy and install it after the sources in the source list are loaded.
Tutorials
- After the installation is complete, go to Settings - Choicy to configure the settings.
- Positioned above the user's app, with the user's installed app at the bottom
- Global Plugin Configuration: Plugin injection can be disabled for all apps
- Application Configuration: Plugin injection configuration can be performed for a single app
- Disable plug-in injection: You can disable all plug-ins from injecting into the current app.
- Custom plugin configuration: black and white list rules
- Allow/Whitelist: Enable to allow plugin injection into the current app
- Deny/Blacklist: Enable to prohibit plugin injection into the current app
- "No Plug-in Launch Option": When the menu appears after long press/repress the App icon on the desktop, you can use this function to launch the App, and there is no plug-in injection when you launch the App.
- "Launch with plug-in option": after opening the desktop long press/repress the App icon appears after the menu, use this function to start the App, this time to start this App with plug-in injection
Update Log
1.5.2-2 (February 18, 2025)
- - Fix binary files on cryptex mounts not showing up in daemon list on iOS 16+
- - Fix daemon configuration not working
1.4.10-3 (August 15, 2023)
- - Fix crash when Choicy is injected into a process that does not pass its executable path to argv[0]
1.4.10-2 (July 12, 2023)
- - Fixed bug where Crane integration did not work as expected in some cases
1.4.10 (June 8, 2023)
- - Fixed part of the iOS 15.0+ feature: when launching frequently used apps in the background to speed up opening, some Choicy settings were not applied correctly when the system launched the apps
1.4.9-2 (May 31, 2023)
- - Integration of Practical Fixes with Crane
1.4.9-2 (May 31, 2023)
- - Fix application settings for "Application"/"Application Plugin" shown in the "Daemon" section.
- Fix Integration with Crane
1.4.9 (May 7, 2023)
- - Add support for adding applications/application plug-ins in the "Attach Executables" section, previously these settings were not applied correctly
- Minor code improvements
1.4.8 (May 4, 2023)
- - Fix unreliable hooks on iOS 15 and later (app settings won't work when the app is launched in the background)
- Improvement of unrooted construction
1.4.7-3 (April 22, 2023)
- - Hot fixes: fixing rootlessness
1.4.7-2 (April 22, 2023)
- - Improved rootless support
1.4.7 (April 11, 2023)
- - Rootless support
- Ellekit Support
1.4.6 (December 31, 2022)
- - Fixes an issue where the Adjustment Troubleshooting page may be empty on some devices
- Fixed an issue where the "Adjustment Troubleshooting" screen might display an error message when selecting a package
1.4.5 (December 30, 2022)
- - Add support for rootless jailbreaks
- Code improvements
1.4.4 (December 1, 2022)
- - Fix for empty list of app plugin tweaks in iOS 13 and below
1.4.3 (November 18, 2022)
- - Add support for iOS 15
1.4.2 (August 4, 2022)
- - Improve the list of adjustments for each process
1.4.1 (April 5, 2022)
- - Fix search bar issue on iOS 11-12
1.4 (November 4, 2021)
- - Blacklist and whitelist overrides in the global tuning configuration have been replaced with process-specific Override Global Configuration settings (if whitelist/blacklist overrides were previously enabled, this setting will be automatically enabled for all processes configured with whitelist/blacklist configurations)
- Rename "whitelist" and "blacklist" to "allow" and "deny". " to improve readability and better localization
- Added ability to configure application plug-ins (widgets, notification extensions, etc.) through the new "Application Plug-ins" section accessible at the bottom of the application process configuration
- Add an Adjustment Troubleshooting section to the Root Preferences page, which can be used to automatically detect if Choicy is preventing adjustments from being injected from selected packages, and includes an option to automatically resolve the situation if it is determined to be the case
- Added "Other Executables" section to the root preferences page, which allows advanced users to configure tuning injections for any binary on the file system
- Add an API to SpringBoard that allows other adjustments to provide coverage of application-tuned configurations (excluding daemons and other non-application processes)
- In cases where Choicy is not loaded first and some tweaks are grayed out, a message button now appears at the end of the tweak list to notify the user of the problem and possible solutions when clicked on
- You can search by application identifier in the search field of the application list.
- Add "Reset Preferences" button at the bottom of the root preferences page
- Fixed a bug where the "Customize Adjustment Configuration" option could be incorrectly grayed out in some cases after minimizing and reopening the Preferences application
- Most of the code base has been refactored and/or rewritten
1.3.6 (June 5, 2021)
- -Displays the application identifier as a subtitle (requires AltList 1.0.4 or higher)
1.3.5 (May 19, 2021)
- - Switching from AppList to AltList fixed a couple of issues in the app section
1.3.4 (April 4, 2021)
- - Adjustment list is now sorted alphabetically
- Fix Preferences plist name (Preferences.plist -> ChoicyPrefs.plist)
1.3.3 (March 31, 2021)
- - Fix Preferences sometimes detecting the wrong injection platform when leaving Substrate files behind after the last jailbreak
- Thanks to @tomaszpoliszuk on GitHub for the code improvements to the "Use (no) tweak startup" option!
- Re-adding armv7 slices accidentally removed in 1.3.2
- Remove the Xcode 12 arm64e slice, as it turns out it is not needed to support iOS 14 arm64e
1.3.2 (February 12, 2021)
- - Fix a crash when accessing certain pages of Choicy preferences on some versions of iOS
- Ensure that the PreferenceLoader cannot be disabled by the Choicy.
- Add Xcode 12 arm64e slices to support arm64e devices on iOS 14 and later
1.3.1 (January 26, 2021)
- - If a user manages to enable both Disable Adjustment Injection and Custom Adjustment Configuration, do not freeze them at the same time!
- Ensure that the PreferenceLoader cannot be disabled by Choicy.
1.3 (December 10, 2020)
- - Adding a search bar to application, daemon, and global tuning configurations (thanks to @brendonjkding on GitHub for the PR)
- Fix custom tweak injection not working on libhooker (iOS 14.1+)
- Add subtitles to adjustment cells to show packages with adjustments installed
- Added Greek localization thanks to @Greek_Ios_Hack on Twitter!
- If the AppList does not work, an error alert is displayed
- Fix app shortcuts not working on iOS 14.0 due to corrupted version detection
1.2.6 (October 22, 2020)
- - Fix custom tweak configurations causing apps to crash on iOS 14.1
1.2.5 (October 7, 2020)
- - Fix tactile touch icons on iOS 14
1.2.4-2 (July 24, 2020)
- - Fix icons always being black (even in dark mode)
1.2.4 (July 24, 2020)
- - Make the macho parser respect rpath, this should fix some rare cases where the tweak list is empty for some applications
- Memory utilization has been improved by using a better method of obtaining application identifiers and executable paths (thanks to saurik)
- Added icons for "No adjustment at startup"/"Adjustment required at startup" operations
1.2.3 (June 21, 2020)
- - Fix inaccurate adjustment list on SpringBoard due to AppList not providing executable path to SpringBoard
1.2.2 (June 8, 2020)
- - SparkAppListSB is no longer incorrectly hidden in settings
1.2.1 (May 25, 2020)
- - Always load the AppList into the SpringBoard to prevent application settings from being corrupted
1.2 (April 12, 2020)
- - Further improve detection of adjustments to the injection process
- Changed dylib name from "000_Choicy.dylib" to "Choicy.dylib" (3 spaces), now loads earlier!
- If the Choicy is not loaded first, it will only gray out the adjustments that were loaded before it, rather than disabling the configuration altogether.
1.1.4
- - Further improve detection of adjustments to the injection process
- The "not loaded first" error does not show up in alternative-based jailbreaks, as it's just an issue with Substrate.
- Performance improvements
1.1.3
- - Further improve detection of adjustments to the injection process
- Detects if the Choicy is loaded first, and if not, prints an error in the Preferences page
1.1.2
- - Fix for adjustments filtered only for categories not appearing in the adjustments list and being loaded into the process even though they shouldn't have been
- Fix a memory leak that could cause some processes to be killed by jetsam in some cases
1.1.1-2
- - Fix regression introduced in 1.1.1 that completely broke custom tuning configurations (oops)
1.1.1
- - Fix an issue where the list of adjustments was empty in some cases (mainly on 32-bit devices).
- Resolved an issue that caused lockups when unc0ver used a different method to get the contents of /usr/libexec on A12. unc0ver will fix this issue in the future as well.
1.1
- - Add global tuning configuration options (use process-specific blacklisting/whitelisting options to override global options)
- Daemons that are not tuned for injection are now automatically hidden
- "Recommended daemons" are now determined at runtime by checking if they are linked to UIKit (previously this used to be a hardcoded list of daemons)
- Process-specific tuning list should now 100% correct (internally using mach-o / dyldSharedCache parser)
- Add a section for hidden apps at the bottom of the app list
- Allow configuration of the Settings app (previously it was hidden)
1.0.2
- - Subtle adjustments to detect improvements
1.0.1
- - Fix 3D Touch option not showing up on some apps

