8 ms·
UIDebuggingInformationOverlay
- gallerdude 9y agoNot surprised all that much of Apple's hidden tools. I'd totally sign a NDA in order to see the hidden past of Apple.
- mchrome 9y agoPretty cool. Hopefully they make it public in the next developer release.
- jclardy 9y agoI wonder when this was actually added, maybe it is getting ready for an actual release in iOS 11 later this year.
- ianburns 9y agoLooking back at UIKit headers it looks like it was added in iOS 9.
- smilliken 9y ago> be sure that the code doesn’t make it into your App Store build, else you’re likely to get rejected. Doesn'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.id=2dc1c31118&page_size=250&sharedby=scott%40deltaex.com&auth=74113e5f9290dcec 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: UIDebuggingInformationRootTableViewController UIDebuggingInformationTopLevelViewController UIDebuggingInformationValue UIDebuggingInformationValueTableViewCell UIDebuggingInformationValueViewObserver UIDebuggingInformationViewController UIDebuggingInformationValueView UIDebuggingInformationOverlay UIDebuggingInformationValueViewNumber
- ryanipete 9y agoInteresting! I just assumed.
- vshni02 9y agoFlex does same + more (network logs) https://github.com/Flipboard/FLEX https://github.com/Flipboard/FLEX
- saidajigumi 9y agoRelated 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. [1] https://revealapp.com/ https://revealapp.com/
- LeoNatan25 9y agoWith 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.
- siphor 9y agoYou 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)
- LeoNatan25 9y agoLooks like it to me, or use some scripts in the debugger for the simulator. http://support.revealapp.com/kb/getting-started/reveal-integration-guide 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.
- LeoNatan25 9y agoYou can't modify from the UI, but you can use the debugger to modify the instance values (using the object pointer).
- CodeWriter23 9y agoDude! 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. Thank you.
- thedjinn 9y agoDon't forget there's also Xcode's built-in view debugger. Very useful tool!
- CodeWriter23 9y agoHa! My second hero of the week. Note to self: explore all menu options.
- deleted 9y ago[deleted]
- ryanipete 9y agoGlad 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.
- LeoNatan25 9y agorecursiveDescription is still the most convenient way.
- yla92 9y agoNot the iOS dev here. I heard good things about PonyDebuggr[0] from Square: [0] : https://github.com/square/PonyDebugger https://github.com/square/PonyDebugger
- sharp11 9y agoIf you don't know about Reveal app, you must. Indispensable. http://revealapp.com http://revealapp.com
- disposition2 9y agoJust 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. Neat find.
- ryanipete 9y agoThanks for the heads up!
- deleted 9y ago[deleted]
- Kipters 9y agoShameless plug: My post[0] about how to call it from Xamarin [0] https://kipters.net/post/ios-debugging-overlay/ https://kipters.net/post/ios-debugging-overlay/
- samstr 9y agoSup Ryan! Great post.
- catoc 9y agoDoesn't seem to work anymore in iOS11 (developer beta on device)