A quick icon theming guide (AKA: Read this before asking questions pertaining to icon theming)
This post is going to be about how to create/edit icon themes.
I might also help with LockScreen themes, Dock Themes, Status Bar themes, Phone Dialer/Calculator/Calendar/etc. themes, but that's a different episode...
Step by step guide:
Tools you'll need:
On your computer: Phoshop/Gimp/Pixlr, WinSCP/CyberDuck/TotalCommander On your iDevice: iFile, IconThief/AppInfo, Winterboard (duh)
Creating the theme folder heirarchy Make a folder on your desktop or in your work folder named ##.theme (where ## is whatever you want it to show up as in winterboard.) Inside that folder, make a folder named Bundles. This is where you'll be saving all your icons when you're done
Find app identifiers and icon names The easiest way to do this is to use Icon Thief. It automatically makes a zip with all the icons for all your apps in it, organized into app identifier folders. But Icon Thief occasionally misses icons, so you'll want to grab icons for those apps the hard way:
Use SBSettings or Appinfo to find the app folder for each app. Use iFile to look in that folder and navigate to its [appnamegoeshere].app folder; from here look inside that folder for info.plist - View it in a text viewer to find the app identifier (looks like com.developer.appname) - Next, you'll want to hunt for icons. In the folder you're currently in, look for any images that are the following sizes, and copy them over to your computer, inside a folder with the same name as the app identifier for the app [com.developer.app] - Put these app identifier folders inside the Bundles folder you created earlier.
[Icon Sizes: 144x144, 114x114, 100x100, 72x72, 58x58, 57x57, 50x50, 40x40, 29x29 (For system icons, the sizes are just a few pixels larger, 118x120, 59x60, etc.)]
If you want to theme the icons for jailbreak tweaks that only appear in your settings app, you'll also need to look in System/Library/Preference Bundles for those tweaks.
Creating your icons Go into your bundle identifier folders and look at the sizes of icons that you have to make, and create icons for every single size needed. Make sure to name them exactly the same as the original icon names for each app bundle. (The names are case specific, so be precise. Some icons need to be icon-50.png, some are Icon-50.png - Make sure you have them all exactly right)
[Make sure that your icons' logos are uniform in the amount of space that they take up. If you're planning on keeping the stock iOS icon shape and size, make sure that you fill the entire image with background color, but don't let your main logo go outside of the 'safe' area in the corners of the image, as iOS will round the corners off. If you're planning on changing the shape/size of the icons, make sure to read the part about transparencies coming up.]
Transparencies/Masks If a theme has transparent areas around the icons, you'll need to fix the way iOS handles transparencies. Make a new image that's 0x0 pixels and save it (the best way to do this is to make a blank text document and rename the extension to .png) Name it AppIconMask@2x~iPhone.png - put this in a folder named com.apple.mobileicons.framework.
You will also need to do this with about 10 other images. Look in /System/Library/Private Frameworks/Mobile Icons.framework and get the names of the images with shadow/mask/outline/overlay in them. You'll want to make blank files for all of them and put them in that folder you made.
Do the same with the images in System/Library/Core Services/SpringBoard.app that have shadow/outline/mask/overlay in the title (unless they have 'folder' in the title. That will make your folder icons invisible if you do that.) Put all these blank files that you properly renamed into a folder named com.apple.springboard
[Mask files determine the shape of the icons, as in what gets cut out, and these are your culprits for dark squares around your small/transparent icons; Shadow files create the dark square when you click on the icon; Overlay files create the 'shiny' texture over some apps; Outline files create square outlines (only applies to notification center and folder icons)]
If you want to change the shape or size of the icons (like 266 or MIUI do) you'll need each of these images to be edited so that only the shape/size you want are filled out. For the Mask files, that means the white part, still surrounded by black until the edges.
File transfer You can either use an SSH tool like Cyberduck or WinSCP to move your theme, or a wired tool like TotalCommander with TPOT installed.
If using SSH, your phone needs some kind of SSH installed on it from CYDIA and needs to be on the same wifi as your computer. Connect via SSH to your phone's IP (found in wifi settings) and use the user:pass root:alpine
If using Total Commander with TPOT, just navigate to network neighborhood/Tpot
Move the ##.theme folder you've been working out of into your phone and place it in Library/Themes
Enable it in Winterboard and you should be good. But be prepared to troubleshoot missing icons or black squares around the icons if you made them transparent.
This whole process should take about 1-3 days of work if you're porting an already existing icon set, and 3-6 weeks of work if you're making them from scratch, depending on how fast you are, and how many icons you plan on making. (Trouble shooting will add quite a bit of time to that, as well.)
If you want to make a full theme for release on Cydia, I highly recommend asking people to send you IconThief .zips and making any icons you can. The more icons you have at release, the better.
If that seems like too much work for just simply changing some icons, now you understand why themers charge up to $4 for a theme.
Posted May 14, 2013, 11:23 PM UTC · edited