Creating your own custom theme for Snowboard or Anemone

Contents

Getting Started

Note: Without the proper folder structure, your theme may not show up!

Theme Configuration

<?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>PackageName</key>
    <string>ThemeName</string>
    <key>ThemeType</key>
    <string>Icons</string>
  </dict>
</plist>

Now, you might ask what is the difference between PackageName and ThemeName?

Well, if for example you want to publish two variants of your icons, one dark and one white but you do not want the user to separately install them. Then, you would name the package MyTheme and include two themes Blackie and White thus creating two entries. More about this in the end

Creating Icons

Note: Due to IconBundles, we just need to create the icons in one size and they get resized automatically :ghost:

Want to create rounded icons? Create them squared only, we will learn how to apply masks!

Exporting Icons

Note: All icons must be saved as *.png (Tip: This means you can even create partially transparent icons!)

Finding BundleIDs

Stock Application BundleIDs

Name BundleID
App Store com.apple.AppStore
Apple Watch com.apple.Bridge
Calculator com.apple.calculator
Calendar com.apple.mobilecal
Camera com.apple.camera
Classroom com.apple.classroom
Clock com.apple.mobiletimer
Compass com.apple.compass
FaceTime com.apple.facetime
Files com.apple.DocumentsApp
Game Center com.apple.gamecenter
Health com.apple.Health
Home com.apple.Home
iBooks com.apple.iBooks
iTunes Store com.apple.MobileStore
Mail com.apple.mobilemail
Maps com.apple.Maps
Measure com.apple.measure
Messages com.apple.MobileSMS
Music com.apple.Music
News com.apple.news
Notes com.apple.mobilenotes
Phone com.apple.mobilephone
Photo Booth com.apple.Photo-Booth
Photos com.apple.mobileslideshow
Playgrounds come.apple.Playgrounds
Podcasts com.apple.podcasts
Reminders com.apple.reminders
Safari com.apple.mobilesafari
Settings com.apple.Preferences
Stocks com.apple.stocks
Tips com.apple.tips
TV com.apple.tv
Videos com.apple.videos
Voice Memos com.apple.VoiceMemos
Wallet com.apple.Passbook
Weather com.apple.weather

3rd Party Applications BundleID Click here

Icon Masks

In your Info.plist file add the following value between <dict> and

<key>IB-MaskIcons</key>
    <true/>

NOTE: This is an optional step, if you do not want Icon Masks, skip this step

Designing Masks

Masking does not support IconBundles, therefore you need to save the masks for each of the following

File Resolution
AppIconMask@2x~ipad.png 152x512
AppIconMask@2x~iphone.png 120x120
AppIconMask@3x~ipad.png 180x180
AppIconMask@3x~iphone.png 180x180
AppIconMask~ipad.png 76x76
[email protected] 40x40
[email protected] 145x145
[email protected] 84x84
[email protected] 40x40
[email protected] 60x60
[email protected] 80x80
[email protected] 120x120
[email protected] 58x58
[email protected] 58x58

Example (Credits: Pinpal):

Credit: Pinpal

would result in

Credit: Pinpal

Packaging

Paste the following in it, replacing yourname, themename, Theme Name, A theme with beautiful icons! and Your Name with your details:

Package: com.yourname.themename
Name: Theme Name
Version: 1.0
Architecture: iphoneos-arm
Description: A theme with beautiful icons!
Author: Your Name
Maintainer: Your Name
Section: Themes

Building the DEB

For building the deb you need a *nix system, otherwise you can build it using your iPhones

Pre-Requisite for MacOS users

1) Install Homenbrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" (Run this in the terminal) 2) Install dpkg, by running brew install dpkg

There is a terrible thing called .DS_Store which if not removed, will cause a problem during either build or installation

Pre-Requisite for Windows Users
Common Instructions
DEBIAN  Library

Now you will have the themeNameForCydia.deb in the same directory

You can share this with your friends :+1:

If you have scrolled this far, consider subscribing to my mailing list here. You can subscribe to either a specific type of post you are interested in, or subscribe to everything with the "Everything" list.