I saw a demo of this a couple months ago at a small gathering. I was blown away. Another feature demo'd at the time was the ability to make obj-c calls in the chrome javascript console and have it be interpreted in the app runtime. e.g.
and the app's navbar changed color. Is this still possible with this release? I haven't been able to try it out at work yet. Thanks for this awesome tool.
Have you heard of Cycript? It's an open source JavaScript-ObjC bridge, maintained by Jay Freeman, the creator of Cydia. It currently supports this interactive console functionality (with tabbed autocomplete!), by injecting into a specified process.
It would be awesome if you integrated Cycript into this.
They apparently seem to be using JSCocoa (which I find kind of a surprising choice in comparison to Cycript, but hey: I'm biased ;P).
(edit:)
Looking into the debugger protocol some, it seems like it might be irritating to integrate Cycript and have it work with Chrome. (The problem being that it parses the JavaScript on the client and sends over an RPC, do you'd have to drop down to objc_msgSend semantics; one of the things I had disliked about JSCocoa then actually makes it easier to use in this environment: how it kind of munges all of the namespaces together into object properties.)
The entire idea of mapping the semantics of a native app into the HTML reality of that debugger, however, is somewhat awkward if you want to attack the parts that aren't networking and database (which is what PonyDebugger is currently nailing really well). I was working on something a little more general a while back as part of Cynoptica (mapping all processes to an HTML debugger interface); when I have something I'll hit you up on IRC.
The name came about because our internal HTTP library is named PonyExpress, and this tool was originally part of it. At least it is google-able, right?
There's only so many serious business-y names you can give to something like this. Those names are awfully generic. PonyDebugger is great because it's unique, googleable, and memorable.
PonyDebugger could be extended to support this very easily. We pretty much codegen "controllers" for all of Chrome Developer Tool prootocols's domain. One could map the UIView hierarchy to the DOM by just implementing a delegate.
Yes, and also DCIntrospect. They're encouraging, but don't currently compare to what you can do with, say, live-editing css or with a Javascript console.
Not that I've used it, but RubyMotion is making progress on a related front. A live REPL, styling apps with CSS, etc. Maybe we're not far off.
The live REPL is provided by Cycript (a program I wrote that lets you inject into running iOS/Mac applications: it has a blend of Objective-C and JavaScript syntax with runtime tab-completion; it is used by most of the people doing extension development for jailbroken devices as it lets you dig deeply into any running program quite quickly).
Glad to hear. If you run into any issues, please file it on the github page. We tried to simplify it a lot, but there are a lot of moving parts and we can improve even more.
Impressive looking tool. I hope the intern is getting paid because he's adding a lot of value to Square and the dev community too. (Seems like a chance to plug http://gittip.com/ now!)
I believe it wouldn't even be legal for an unpaid intern to be used for "actual work", as they're supposed to strictly be involved in mentoring/training activities. Hopefully Square knows that, and wouldn't try to treat its employees unfairly in the first place. They seem like a great company.
Programming internships are typically paid positions. I can't speak for Square, but every other programming internship I'm aware of (even at other startups like Path) were paid.
Charles requires you to proxy your device's networking through your computer, which is annoying to set up, and doubly-so if you need to sniff https. PonyDebugger looks great because it doesn't interfere with the normal networking behavior.
Except requiring you to compile it into your app. Presumably you're not including it in every build configuration, but that means you can't run it against just any build.
I think it only does outgoing requests, but rvictl can also be handy for inspecting iOS network traffic. With a single command on your Mac, it directs device traffic through a network interface on the Mac. Wireshark works great on it.
UIApplication.sharedApplication.delegate.navigationController.navigationBar.tintColor = UIColor.redColor;
and the app's navbar changed color. Is this still possible with this release? I haven't been able to try it out at work yet. Thanks for this awesome tool.