

Show HN: Reveal – an iOS runtime inspection tool - theraven
http://revealapp.com

======
thomasjoulin
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,

~~~
bengotow
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 ;-)

------
theraven
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.

~~~
jawngee
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?

~~~
bengotow
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!

~~~
seanwoodhouse
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.

~~~
bengotow
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!

------
pablasso
So any advantages for this over Spark Inspector?

<http://sparkinspector.com/>

~~~
bengotow
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!)

~~~
allwein
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.

------
tszming
Free and opensource alternative:
<https://github.com/domesticcatsoftware/DCIntrospect>

------
millerm
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.

------
chinmaygarde
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/>

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

~~~
seanwoodhouse
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.

------
snprbob86
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.

~~~
seanwoodhouse
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.

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

~~~
seanwoodhouse
Noted :-)

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

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

~~~
seanwoodhouse
Sorry 10.8 or higher for now.

------
dmishe
Looks cool. Would it be possible to use cocoapods?

~~~
theraven
Not just yet, but we are working on it.

~~~
seanwoodhouse
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.

