The extension operates in two modes: launching a URL on a Safari device or attaching to a running tab inside Safari. Two open source projects, ios-webkit-debug-proxy, and ios-webkit-debug-proxy-win32 are used for connecting from Microsoft's debugging library to the iOS device. These projects enable communication with iOS devices over USB via the WebKit Remote Debugging Protocol. "The protocol is compatible with the Chrome Debugging Protocol for the script debugging APIs, and this means our debugger works without additional mapping logic," Auchenberg said.
Features supported in the extension include setting of breaking points, stack traces, debugging of eval scripts, and virtual forwarding via HTTP tunnel from the local PC. Auchenberg explained that it's cumbersome to enable mobile devices to access a local development server. "To make this easier, platforms like Android support point-forwarding natively, but iOS doesn't support this." Instead, Microsoft emulates port-forwarding by adding an option to start an instance of localtunnel, which creates an HTTP tunnel from a local computer to the public internet for a specified
tunnelPortproperty. The HTTP tunnel is used by the iOS device to access the local development server.
Microsoft has been courting iOS developers of late. The planned Visual Studio 15 platform has been fitted with a capability to import Xcode projects that leverage C++. The company also acquired cross-platform mobile development tools vendor Xamarin, which supports iOS.
Sign up for CIO Asia eNewsletters.