Themes
Havoc supports both .zip and .deb file formats for themes.
When a theme is uploaded, our system automatically makes it available to both unjailbroken and jailbroken users. This allows you to work with the format youβre comfortable with while also reaching a wider audience.
.deb
This is the standard format for jailbroken packages. For instructions on creating jailbroken themes, we highly recommend the iOS Theming Guide by PINPAL.
.zip
This format is typically used for icon packs. You may be familiar with it already if youβve created or used themes via the Shortcuts app.
Zip files uploaded to Havoc should be structured like so:
π Theme
ββ π control
ββ πΌοΈ com.apple.calculator-large.png
ββ πΌοΈ com.apple.camera-large.png
ββ πΌοΈ com.apple.Maps-large.png
ββ πΌοΈ com.apple.mobiletimer-large.png
ββ πΌοΈ ...
Or, to provide multiple variants of an icon, use multiple folders:
π Theme
ββ π control
ββ π Theme (Dark)
β ββ πΌοΈ com.apple.calculator-large.png
β ββ πΌοΈ com.apple.camera-large.png
β ββ πΌοΈ ...
ββ π Theme (Light)
β ββ πΌοΈ com.apple.calculator-large.png
β ββ πΌοΈ com.apple.camera-large.png
β ββ πΌοΈ ...
ββ π ...
Some examples to get you started:
Theme.zip ThemeWithVariants.zip
Bundle Identifiers
Icons must be named using their bundle identifier. A bundle identifier or βbundle IDβ is simply the unique ID of an app.
For example, the Calculator appβs bundle ID is com.apple.calculator
. The icon file would then be named com.apple.calculator-large.png
.
You can find bundle IDs for your apps using a tool like this one: https://offcornerdev.com/bundleid.html
Control File
The control file is where the metadata for your theme is stored. This file will tell Havoc details about your theme.
Hereβs an example:
Package: com.username.theme
Name: Theme
Version: 1.0
Architecture: iphoneos-arm
Description: A theme with beautiful icons!
Author: username
Maintainer: username
Section: Themes
Depends: com.anemonetheming.anemone | com.spark.snowboard
Youβll need to update the following fields:
-
Package: The unique ID of your theme (create your own bundle ID)
-
Name: The name of your theme
-
Version: The current version of your theme (will need to be incremented with each version you release)
The following fields are optional:
-
Description: A short description for your theme
-
Author: This field will be overwritten with your Havoc username
-
Maintainer: This field will be overwritten with your Havoc username
The rest of the fields (Architecture, Section, and Depends) should be left alone.