34 comments

[ 0.19 ms ] story [ 82.6 ms ] thread
Oooh this looks nice.

I'd love a tool that could integrate with Jailbroken phones and Cycript to provide run-time introspection on actual devices though.

Or you could use a legitimate OS and legitimate browser and debug using tools that give you native introspection out of the box.
You don't even need a jailbroken phone, just a provisioning profile. Objective-C is fully dynamic, so you can override UIView/CALayer so that it sends data to a server whenever it changes and is a child view of the key UIWindow.

They don't say it explicitly, but I would be shocked if Reveal does not work the same when testing on a device.

You would still need a way to get your code running in another process; simply replacing the implementations of methods in your own application would not cause them to change system-wide.
You are right, of course. I thought the GP just wanted it for his own apps.
You can inspect your own apps running on device with Reveal without having to resort to jailbreaking. Just link the library with your app, run it on the device, make sure your device is on the same network, fire up Reveal and choose your app from the drop-down app selector.

We've also had reports of people successfully inspecting the Springboard and Apple's apps using Cycript and other means.

Nice app, if people are looking for something similar for Xaml based apps (WPF, Silverlight, Windows Phone and Windows 8) I highly recommend Xaml Spy http://xamlspy.com/
I'm trying this out now and just switched to the 3D view. Mind = blown.

Great job, I have a feeling this is going to make big difference for visual debugging.

Very similar to a tool I use that open source for iOS

https://github.com/glock45/iOS-Hierarchy-Viewer

Spark Inspector is another commercial alternative: http://sparkinspector.com/

I'm holding off directly comparing them until Reveal announce their final pricing. They both have pros and cons, I wouldn't right now place one above the other.

There is also XRay Editor (http://mireus.com/xrayeditor/) that comes with an Xcode plugin to relatively easily convert the changes you made into code. It also has an overlay feature to be able to adapt to a mockup.

Then there's http://hierarchydetective.com/ which is OSS, still pretty rough. It support a few different hierarchies like UIKit, CALayer, cocos2d and can supposedly be easily expanded for more view hierarchy types.

Spark Inspector and Reveal are pretty similar at the moment. SI does notification tracking and also live UI updates (and rotating the 3D view in the client by device movement ;) ).

PonyDebugger is the only one that includes network traffic analysis.

I did a talk about these and more at CocoaHeads Dresden this week. Tough it hasn't been recorded and the slides are currently in German. I will translate them and post the link later.

Cool stuff! Now that everyone and their grandmother are building apps it makes sense to start selling shovels (as in selling shovels in a gold rush).
Actually it doesn't. Those who strike gold will always make more than the shovel salesmen, just have much much lower odds. But, when the general population of gold diggers realizes the odds are poor the shovel salesmen will still go out of business.

I've always hated applying this hackneyed phrase to bubble tech, because the meta product makers end up being just as silly looking as the product makers when trends change, and often in a worse position for transition.

I thought this looked really familiar -- and cool, I remember bookmarking it to download it on my computer -- so I went back into my saved stories and found the "Show HN" from about 6 weeks ago. Original discussion at https://news.ycombinator.com/item?id=5813542.
I'm sure most people know this, but Firefox's developer tools has this feature for any website you're on. Its very cool and sometimes quite handy when developing for web.
They mention that on the page, sounds like that was their inspiration:

"Reveal brings the power of tools like Firebug and Web Inspector to iOS developers."

Can anyone think of a time when it's actually useful? I'm having a hard time thinking of any.
Granted, i dont use it often, but i find it very handy for specific things that require a lot of work on positioning or when trying to dissect someone elses code.
What? Printing [view recursiveDescription] in a tiny little box in Xcode isn't enough for people? :)
I don't think there is -recursiveDescription in NSView or NSObject. I've seen -description and -debugDescription. Correct me if I'm wrong as it sounds useful. :)
(comment deleted)
(comment deleted)
It looks beautiful, but has anyone ever found 3D "viewing" of 2D interfaces to actually be useful?

I dunno, I've never felt a reason to use Firefox's 3D DOM view to debug anything ever, or that it would help at all. If anything, the 3D view just confuses things for me, not being able to see how things line up, etc.

I'm very curious if this is just novelty eye candy, or if there are people who have found this useful in real-life interface work, and what those situations were.

I've found FF's 3D view to be very useful for debugging. Perfect for the times when you need to find that one div that is wide enough to cause horizontal scrollbars on your responsive design.
(comment deleted)
In UIKit it is very easy to create situations where you have subviews with the same frame as their superview, and this can nest a few levels deep. I work on an app that has a very complex view hierarchy and I always find myself in the 3d view because what I need to inspect is rarely the front-most view in the hierarchy.
I find the whole concept of the app questionable in usefulness.

We had actually thought about building something very similar a couple years ago, as at first thought seems like something that would be really useful, but found once we broke it down to the times it would be used it didn't seem as compelling.

There's a bunch of these apps out there now, and most also marry the feature of 'live positioning / updating' , which is still cubersome. It seems like it's actually showing there's probably a much bigger need for a good live themeing solution than anything.

I just integrated this with my app and it looks amazing. I just fixed couple of complex alignment issues. It would have taken few hours to find and debug those issues
Does anyone know if there is a program to capture 3D/isometric screenshots of your app?
Looks amazing, only I see a typo in one of their labels. In the main video at 0:31 it reads "Highligted text". Missing an "h".