Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Reveal – an iOS runtime inspection tool (revealapp.com)
113 points by theraven on June 3, 2013 | hide | past | favorite | 31 comments



See also the free and open source PonyDebugger by Square : https://github.com/square/PonyDebugger

They do view hierarchy debugging but also network loggin in Chrome Developer Tools,


The network logging in PonyDebugger is a great feature - I use Runscope to grab and analyze API calls and the Spark Inspector for view introspection and debugging, but network logging might be coming to the Spark Inspector one of these days ;-)


PonyDebugger is good also, but I definitely appreciate debugging apps that have had some extra love put into them.

Debugging GUI code can be a huge pain, and visualising an interface's structure really benefits from a UI that goes beyond just showing the information. View hierarchy is a good example, but I'm sure there are others too.

It'd also be cool if these apps could show more than just the GUI. Being able to introspect view controller state and model objects would be really useful sometimes. Like, when that intermittent glitch shows up again, being able to see aspects of the program state change over time and interactively setting properties to try and replicate it.


Yeah, PonyDebugger is definitely an inspiration...but we like native apps too :-)


It's in open public beta at the moment. We are a consultancy that work on large iOS application within large teams, with ever aging code-bases, and we built this to make our lives much much easier when it comes to debugging complex view hierarchies.


Looks beautiful. I've been using Spark Inspector but am not too comfortable with it modifying my Xcode projects.

What's pricing going to look like?


Hey! Author of the Spark Inspector here - what would make you more comfortable with the setup assistant? I'd love to get you to use it ;-) You can modify your project yourself, but it's important that the framework is added to the debug build configuration only, and the Spark Inspector's setup assistant makes sure you do this right.

If you drag and drop the framework into your project the way Reveal tells you to, that framework will be linked into Release builds (because of the '-ObjC' flag) - so you could accidentally allow people to inspect your published app!


Our integration guide is pretty explicit about how to link with the library so that it doesn't get linked in to Release builds. Everyone's environment is different, and we think it's a good thing that developers understand what changes are required to link with any third party framework.


Ahh cool - I just followed the graphic on the "Getting Started" panel (the pic with the framework being dragged into the left sidebar) I already had the Spark Inspector framework linked in so I guess I was able to skip the instructions!


You still need to link your app against our library for Reveal to be able to inspect it, but the instructions guide you through it so you know exactly what's being modified in your project.

Pricing will be announced when we come out of beta.


The one thing I do really like about spark is the NSNotificationCenter monitoring. Will you be supporting that?


We are currently trying to be as least invasive to the running application as we can be at the moment. We don't perform any swizzling, or URL proxying.


So any advantages for this over Spark Inspector?

http://sparkinspector.com/


Hey folks! Developer of the Spark Inspector here. I've been playing around with Reveal all morning. I think the biggest difference between SI and Reveal is that SI links into your app more extensively. You don't have to click 'Refresh' to make it fetch changes because it swizzles itself into UIKit and NSNotificationCenter. Though method swizzling is somewhat of a dark art, it doesn't really have adverse side-effects if it's done right. I'm curious to know why Reveal takes such a minimally invasive strategy. In my opinion, choosing not to method swizzle will dramatically limit what Reveal can do beyond view hierarchy exploration and maybe logging. There are a lot of other tabs I'd like to add to the Spark Inspector to take it beyond view introspection, and they'll require deep linking into your app!

The Spark Inspector also tries to mirror IB more closely (the sidebar panels have a more familiar feel.) It also allows you to see system views within your view hierarchy, which Reveal might be choosing to hide.

Also, it seems that a lot of the items in the Reveal sidebar are read-only? (Maybe that's just a beta thing…) I do like that it has an "Application" tab in the sidebar for seeing UIApplication properties.

At any rate - I welcome some competition, and it's great to see more tools being created for iOS developers! I'm planning to take the Spark Inspector beyond view introspection and NSNotificationCenter monitoring, and it'll be interesting to see where Reveal goes (and how much it'll cost!)


I'm a current user of Spark Inspector. One of the things I saw in the Reveal demo that's missing in SI is the ability change the 3D Z-Index spacing between the views to make it a little easier to see.


Probably best to try both and see what you think. We've used Reveal on some pretty huge apps and it stacks up fine. We're also very careful not to muck about too much with your running app, hence the snapshot approach rather than live updates.



I'm quite stoked about this app. I've been using PonyDebugger for a few months now and it has been really helpful. It's rough but sometimes that can be enough to aid you in major ways.

As for Reveal, I had it installed in two of my apps in just minute or so after seeing the post! It seems really promising. I'm looking forward to beta testing and sending my bug reports. I already have a few to send. :)

Editing because I had not heard of Spark Inspector before. That also looks awesome. Are these all inspired by the Tilt plugin in Firefox? These visualization tools are so helpful.

Time to go look at how much $ Spark Inspector is going to set me back.


This looks awesome! I am writing my own version of a hierarchy viewer and debugger. Its a work in progress but you can check it out @ http://hierarchydetective.com/


Does it work with RubyMotion? Any tips for installing it for a beginner? :)


We haven't tried it, but apparently it Just Works (tm). You just need to link against the framework as you would any other third party library. There is no API (yet), so no API bindings required.


Would be awesome if the demo app was baked into the download. I'd love to be able to try the UI instantly without even having to load up my own application.


We'll be 'pre-integrating' a few apps available on GitHub soon so you'll be able to play with Reveal by simply cloning and running those iOS apps. A full sample may be on the cards when we're out of beta.


Cool, but I'm mega lazy when testing new tools... The splash screen should have a big 1-click "Try Demo App" button :-)


Noted :-)


Looks very cool! Trying it right now. Will report back.


It only works with OSX 10.8? What about the others that are on Lion or older versions?


Sorry 10.8 or higher for now.


Looks cool. Would it be possible to use cocoapods?


Not just yet, but we are working on it.


Update: there is now a pod spec in the Cocoapods Specs repo for Reveal. Head to http://support.revealapp.com/ if you have any issues.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: