This is a pretty quick post to explain how to make custom icons for your WinterBoard theme. This quick guide is written for iOS 10, so steps may be different for your device.
The original icons for your iOS app can be extracted from the .apk file located in your iTunes/iTunes Media/Mobile Applications folder. If you don’t see an app in here that you are using, make sure to sync or download your app through iTunes first. Rename the .apk file to a .zip file and extract it. Open the Payload folder and the [AppName].app folder that it contains. Inside this folder, you will see several icons named AppIcon.png. We will convert and work with these icons for our theme.
You can also extract your icons by using SSH and accessing your iPhone using SCP. Applications are located in the folder (on iOS 10):
Inside the application folder you will see an [AppName].app folder (just like in the method above). Transfer these to your PC and then proceed to the next step.
All icons from your iPhone have been converted to run more efficiently. You will need to convert them back to an editable format that you can use in Photoshop or other image-editing software. In order to do this, download iOSPngConverter (below) and convert the .png files that you want to use.
Creating Your IconBundles Folder
In WinterBoard, we need to install IconBundles in order to easily be able to update our icons for each app. Open Cydia, install IconBundles, and respring.
We need to create a folder in our root theme folder named IconBundles. Inside here, we will place our icons using the following icon names:
App bundle name +
com.facebook.Facebook@2x.png com.facebook.Facebook@3x.png com.facebook.Facebook~ipad.png com.facebook.Facebookfirstname.lastname@example.org
In order to find our bundle name, the easiest way to find the bundle name is to open the iTunesMetadata.plist located inside your extracted .apk folder. Press ctrl+f (in notepad) and locate the line that says “softwareVersionBundleId” your bundle should be beside it and is usually named com.companyname.appname. You need the bundle name for every icon that you change.
Note: You don’t need the ipad icons if you are only making a theme for an iPhone.
Masking Your Icons
If you are using IconBundles (like we did in the previous step), you can mask all your icons automatically. In order to do this, you need to create a new
Info.plist and paste the following into it (to set your IB-MaskIcons to true):
<?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>IB-MaskIcons</key> <true/> </dict> </plist>
Note: Do not do this if your icons have a transparent background (or are already masked).
Uploading the Theme
I’m currently using Yalu Beta 7 for this guide. You need to begin by installing DropbearSSH. This will allow you to move the theme folder from your computer to your phone.
Begin by opening Cydia, going to sources, and adding the new source:
Once Cydia has refreshed, you need to search for and install DropBearSSH. This app can be toggled in the terminal using the “sshtoggle” command. After you have toggled DropBearSSH, you’ll need to open up an SCP client. I’m using WinSCP to connect to my iPhone. For the host, enter the IP address of your iPhone assigned by your WiFi network. Enter ‘root’ for username and enter your root password. If you haven’t changed your root password (you need to), enter ‘alpine’.
Once you have connected to your phone, you need to navigate to your themes folder. It is located under:
One of the folders in the stash folder will contain a folder named
Themes. You need to upload your theme folder here. After your theme has finished uploading, open up Winterboard, select your theme, and respring. Your modified icons should now show up.