1

I have been trying to understand how Mobile Device Farms like DeviceConnect, AWS Device Farm, SauceLabs, etc. get to remote control iOS devices, but I can't find anything on the subject. They get to do it without jailbreaking, which baffles me even more.

I love these kind of projects, because at the moment it seems undoable, but I know that it is possible ('they' are doing it).

With remote control I mean: seeing the screen of the iOS device on your computer screen and able to touch and swipe with your mouse.

Can someone please point me in the right direction as to how these technically work?

basdp
  • 193
  • 11

3 Answers3

0

If you're using an iPad (in particular) or an iPhone (if you think you'll be able to make our any detail on the smaller screen) then using remote access to view and control what's on your friend's Mac is a good option. And the best way to remote-access a Mac from an iPad is to use Google's free Chrome Remote Access service, which lets you remotely use Mac programs from an iOS device.

It's quite an involved process to set it up the first time, but easy if you want to do it again in future. You'll need the Google Chrome web browser for Mac, and a Google account.

Here is link for Chrome Remote access

https://chrome.google.com/webstore/detail/chrome-remote-desktop/gbchcmhmhahfdphkhkmpfmihenigjmpp?hl=en

Open Chrome and go to Chrome Remote Desktop on the Chrome Webstore. Click Add to Chrome, then Add App. Click Allow, then Continue.

0

I will give you one approach and small explanation .

You will need to create application with all possible permissions at first also implementation handlers functions .

For example :

  • Works with files
  • Real native Socket connections (not http protocol) + need to have some main server signalling (domain or static ip).
  • Handle remote touch trigger (main problem for real remote/iOS)
  • Background part experience
  • Your app need to be non-Market app (more likely).

    You can make Application with all possible options that apple give us. What can you do remote with your app : -control camera/ Mic read geo data , work with galleries , delete or create files . Socket will be communication line .

    • Also app must initially started and make (on user request) always allow all permissions .

Use camera : Send with socket some command example ( openCamera ) . AFTER receive this string perform action for opening camera .

If you can fix programability triggering touch events you can make remoteIOS.

  • More data links :

Q/A send remote events

Q about touch events

Q/A about Permisions

Nikola Lukic
  • 4,001
  • 6
  • 44
  • 75
-1

Sorry for the first quick answer, All of these: DeviceConnect, AWS Device Farm, SauceLabs use Appium in order to control devices.

The component that execute the command is the WebDriver.

Appium have different WebDriver implementation in order to execute operations to different device. The iOS WebDriver can be found here: https://github.com/appium/appium-ios-driver.

The protocol in use is the JsonWireProtocol.

more details can be found here: http://appium.io/, http://www.seleniumhq.org/

Regards

Macondo
  • 166
  • 6