SIMBL (SIMple Bundle Loader) - pronounced like "symbol" or "cymbal" - enables hacks and plugins. For instance, SIMBL enables PithHelmet to enhance Safari.
- Problem:
- Some applications do about 90% of what I want.
- Solution:
- Develop my own applications.
- Better Solution:
- Patch the application myself...
So, let's say we have a naughty program that has a behaviour we don't like. How would we treat that problem?
- class-dump TargetProgram
- Look at the list of classes and note the one that seems to be the issue. Let's call that class Victim.
- Inside, find your naughty method, let's call it '- (BOOL) victimMethod;'
- Open Info.plist of the victim, and note the bundle name and version
- Create new Cocoa bundle in XCode according to the steps on SIMBL site
- Fill in the bundle name as stated
- Use the following code:
- Restart the target app
- ???
- Profit!