As you might be aware it’s fairly easy to reverse engineer an objective-c iOS app and grab the header files, string values, and assembly code, then someone could perform a few tweaks, replace the graphics and release an app using your code. A few commercial tools have been around for obfuscation, but the costs are probably too high for smaller projects.
Some time ago I mentioned an alternative configurable Objective-C, C++ and C static analyzer called OCLint.
Here’s an interesting tool that goes well beyond basic static analysis called Faux Pas that doesn’t simply analyze your code, but analyzes your entire project without duplicating any warnings from the Clang static analyzer.
Some time ago I mentioned the Core Data Editor tool that provides a nice interface for looking through and editing your Core Data databases with nice code generation features.
The Core Data Editor has improved considerably since first mentioned and now has now been open sourced by developer Christian Kienle as he can no longer maintain the project.
Here’s an image showing the browsing capabilities of the Core Data Editor:
Here’s another nice Xcode plugin from John Holdsworth for visualizing differences in your project’s code against a Git repo called GitDiff.
GitDiff highlights lines that have been modified, removed, and added.
Here’s an image from the readme showing GitDiff in action:
I’ve mentioned a number of tools for debugging user interfaces most recently the hierarchy detective tool that allows you to view your user interface hierarchy in 3d space.
Here’s an open source tool from Flipboard for in-app exploration and debugging called FLEX. Flex provides many nice features including the ability to modify your running views, browse through the view hierarchy and access live objects on the heap.