Is it possible to customise the ‘fixed’ controls at the top of Control Center?
Solution 1:
Yes, if you're on iOS 11.1 to 11.1.2 inclusive. Tested myself on iOS 11.1.1. A reminder that you perform this at your own risk.
-
Install FilzaEscaped from https://www.reddit.com/r/jailbreak/comments/7lisma/release_filza_with_root_access/
This works with any method of writing outside the sandbox (so FilzaJailed too) but I have not tested other methods myself.- Download the first IPA from the post.
- Download Cydia Impactor from http://www.cydiaimpactor.com.
- Open Impactor and connect your device over USB.
- Drag the downloaded Filza IPA to the Impactor window and follow the prompts. If you use 2FA on your Apple ID, you will need to generate an app password.
-
In Filza on your device, navigate to
/System/Library/PrivateFrameworks/ControlCenterServices.framework/
and openDefaultModuleOrder~iphone.plist
with the text editor.- Filza starts in /var/mobile by default, so use the back button to navigate to root (/) first.
-
When in the correct folder, tap the ⓘ on the right of the file, then Share at the top-right, then choose Text Editor.
-
Move all strings from the fixed array to the user-enabled array.
Select all the strings, cut and paste them into the bottom array.
Below is an example DefaultModuleOrder~iphone.plist with all components controls moved to the user-enabled array.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>fixed</key> <array> </array> <key>user-enabled</key> <array> <string>com.apple.control-center.FlashlightModule</string> <string>com.apple.mobiletimer.controlcenter.timer</string> <string>com.apple.control-center.CalculatorModule</string> <string>com.apple.control-center.CameraModule</string> <string>com.apple.Home.ControlCenter</string> <string>com.apple.control-center.ConnectivityModule</string> <string>com.apple.mediaremote.controlcenter.nowplaying</string> <string>com.apple.control-center.OrientationLockModule</string> <string>com.apple.control-center.DoNotDisturbModule</string> <string>com.apple.control-center.DisplayModule</string> <string>com.apple.control-center.AudioModule</string> <string>com.apple.mediaremote.controlcenter.airplaymirroring</string> </array> </dict> </plist>
Respring. Rebooting will do it and is probably the easiest way if you're unfamiliar with other methods of just restarting SpringBoard.
-
In Settings → Control Center, re-enable the disabled standard controls if you still want them and customise their position as you wish!