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.
Some time ago I mentioned a tool for converting Java code to Objective-C (minus any interface code).
Here’s an open source project that features an ahead-of-time-compiler for your Java bytecode for the IOS platform called RoboVM.
RoboVM already has a number of apps in the app store, and compiling your bytecode is done easily through an Eclipse plugin or a command line tool. If you’ve checked out RoboVM in the past it has definitely come a long way, and certainly worth taking a look at.
There are many testing frameworks out there that utilize interface screenshots for comparison and here’s a library from Facebook specifically for snapshot tests called iOS-Snapshot-Test-Case.
iOS-Snapshot-Test-Case takes a snapshot of the screen when called, compares to a reference image you supply, and if the images don’t match then the test fails.
Orta has released a plugin enhancing Xcode allowing you to quickly see your snapshots within Xcode taken with iOS-Snapshot-Test-Case, and you can see the differences betweenfailed snapshot tests.
Some time ago I mentioned an Xcode plugin for working on your localized strings called Lin.
Here’s a newer Xcode plugin allowing you to very quickly take a string and turn it into a NSLocalizedString with a specified key in the default localizable .strings file called Extractor Localizable Strings from Vinicius Moisés de Oliveira.
With a string selected Extractor Localizable Strings can bring up a popup through the Xcode edit menu or hotkey in which you specify a key and the string will be changed into an NSLocalizedString with the specified key.