Notably, it looks like Google, Facebook, Netflix, and Uber are all using it (or have a dependency that is). There's been a handful that were using it since early 2015, and a surge of several hundred towards the end of last year.
Related to this, I'll highly recommend Reveal[1], a macOS app which allows for (semi-)live view debugging of iOS apps. Reveal provides view hierarchy info, and renders it on (the mac's) screen in a highly inspectable way.
Specifically, both flat 2D and a really great 3D exploded renderings of the active views are available. This is really brilliant for acquiring a deeper understanding of many initially opaque aspects of iOS view construction.
Likewise, the inspectors let you tweak and adjust autolayout constraint values, frames, bounds, and other view settings live. All together, working with Reveal restores a refreshing amount of the ease of view debugging and iteration speed that I love about working with modern in-browser debugging.
With the advancements in Xcode, I really don't think Reveal is worth it. It also requires embedding a binary framework (I think it's closed source) in your application, which can be messy for debug vs production builds. Just not worth the hassle.
You don't need to embed a binary framework for Reveal. And I think it's still a lot better than the Xcode tool..
I like using it to fine tune the positions of views instead of guessing and re-running which happens occasionally. (Can't do that w/ Xcodes built in tool)
I disagree. In my experience, Xcode 8's view debugging is a bit of a joke compared to Reveal. Reveal's visualization of the view hierarchy is much better, especially when it comes to illuminating some subtleties of view ordering. Next, every time I've used Xcode's support, it kills our app. Fun times! I've never had a problem with Reveal interfering with the running app state. Last but not least, Xcode's view debugging doesn't allow live modification, which is key to iteration speed. These features together have saved me enough time that Reveal paid for itself before the trial was over -- and I'd used Xcode's view debugger well before I discovered Reveal. I wouldn't have put down money for a tool that wasn't a big delta from the Xcode baseline.
Setting up for Reveal is trivial, making your "messy" speculation seem baseless. For an app that uses CocoaPods, it's literally just adding one line to the appropriate target:
pod 'Reveal-SDK', :configurations => ['Debug']
If that gets into your release build, you've got much bigger problems than an external SDK.
Dude! You win HN for the week, at least in the eyes of this guy, currently iOS developer guy. Just yesterday I was thinking to myself, how I needed some kind of tool to help me visualize the view hierarchy. I ended up setting different background colors on various views to understand my problem.
Glad it helped you. And thedjinn is right, Xcode's view debugger is really nice if you haven't tried it. I'd prefer it to the debugging overlay whenever you're running from Xcode.
Just a note about your site. The 'Website' link on the left pane, it seems to 404 on just about every page. It looks like it is a relative link, rather than static because the domain is getting appended to the end of each source URL.
27 comments
[ 3.9 ms ] story [ 77.9 ms ] threadDoesn't appear to be the case! Here's a list of 611 apps using this class: https://mixrank.com/appstore/apps?expiration=2017-06-26&list...
Notably, it looks like Google, Facebook, Netflix, and Uber are all using it (or have a dependency that is). There's been a handful that were using it since early 2015, and a surge of several hundred towards the end of last year.
Here's the other related classes:
Specifically, both flat 2D and a really great 3D exploded renderings of the active views are available. This is really brilliant for acquiring a deeper understanding of many initially opaque aspects of iOS view construction.
Likewise, the inspectors let you tweak and adjust autolayout constraint values, frames, bounds, and other view settings live. All together, working with Reveal restores a refreshing amount of the ease of view debugging and iteration speed that I love about working with modern in-browser debugging.
[1] https://revealapp.com/
I like using it to fine tune the positions of views instead of guessing and re-running which happens occasionally. (Can't do that w/ Xcodes built in tool)
http://support.revealapp.com/kb/getting-started/reveal-integ...
Still not the most convenient. I'm not sure why they need that server, because they can discover and modify everything using the runtime.
Setting up for Reveal is trivial, making your "messy" speculation seem baseless. For an app that uses CocoaPods, it's literally just adding one line to the appropriate target:
If that gets into your release build, you've got much bigger problems than an external SDK.Thank you.
[0] : https://github.com/square/PonyDebugger
Neat find.
[0] https://kipters.net/post/ios-debugging-overlay/