0

How can you trigger touch and type events outside of your app. I already have created a service that can collect certain data but I can't trigger clicks.

P. S. My requirement is to have a device cloud hosted on the internet and allow people to access them remotely

eugene.polschikov
  • 7,254
  • 2
  • 31
  • 44
sukhitha
  • 31
  • 6
  • "outside of your app" ..? Arbitrary control over the device? Am I missing something? I am 99.99% certain this is impossible. Apple would never allow such a huge security hole in their platform. – BaseZen Aug 29 '15 at 04:51
  • Yeah that is what I wanted. I also thought this would be impossible. But then I saw this tool called Seetest. They somehow do these touch events without Jailbreak. Check this out: https://youtu.be/RkSp8u-TzII?t=1m30s – sukhitha Aug 29 '15 at 05:39

2 Answers2

1

This is not possible. Apple would never allow such a huge security risk.

You misunderstand how Seetest works. Seetest requires access to your App's binary code, which it instruments:

https://docs.experitest.com/display/public/UFT/iOS+Applications

It then simulates user events by calling event handling methods, e.g. @IBAction handlers. It does not go to the low level that you want, because nothing can unless you violate Apple's usage rules.

EDIT

I was assuming you wanted to write an iOS App that could generate events outside of its sandbox. Instead I think you're referring to Instruments which is controlled by a host.

Because this is a general question, see if this gets you in the right direction:

https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/UsingtheAutomationInstrument/UsingtheAutomationInstrument.html

BaseZen
  • 8,650
  • 3
  • 35
  • 47
  • Thanks for the response BaseZen. I'm fully aware they instrumentalize the app and do their automation. But they also provide full control over the device remotely. They can even go into settings of the phone. Please checkout this video: https://youtu.be/fWQimymGXmc?t=22s – sukhitha Aug 29 '15 at 06:27
  • 1
    Edited with that perspective. – BaseZen Aug 29 '15 at 07:27
  • Actually your earlier assumption is correct. I do want to do stuff outside of my app sandbox. I have already used UIAutomation to do programmatic tap events within the app. But my requirement is that I want to let my users to go into settings of the phone and let them do stuff like turn off wifi or clear safari browser cache. (Somehow Seetest is doing this without jailbreaking) – sukhitha Aug 29 '15 at 08:27
0

I have managed to do this using Appium java API. First launch a dummy app, then call driver.back() and from there, you will have full control

sukhitha
  • 31
  • 6