iOS virtual real device with debug facility - ios

Is there anyone know about iOS online paid service with iOS real device (Debug facility). I found few services but they only give upload project file and test. I need to Connect this to Visual studio and debug my iOS app.

Have you tried AWS Device Farm? (I see, you do not like Firebase Test Lab as you said you do not prefer "only give upload project file and test")
Thus AWS Device Farm will be your best choice!
It basically fulfills all your needs.
Connect to a physical iOS device ✅
Actually use the device more than just testing apps. (ex. Swipe, Touch, Open Other iOS apps, etc..) ✅
AWS is an industry-leading company, so quality is guaranteed. ✅
Image of AWS Device Farm
Let me know if you have any questions. Thanks.
PS: If you need to test in Big Scale, I would personally recommend going to your local Mobile Testing Facility and consult with them. I live in Seoul and there are tons of testing facilities here.

Related

Building Flutter iOS binary without physical access to a Mac

I have an iPhone
I don't have a physical mac. I'm using the new AWS mac instances to use XCode / build the binaries (Completely kosher and allowed by Apple).
I can't connect the phone and the AWS instance since they're not physically in the same place.
If I can build an IPA of the app, I should be able to use Firebase distribution to distribute the app to my phone (I think). But when I try to build the app using flutter build ios I get errors like: 'There are no devices registered in your account on the developer website. Plug in and select a device to have Xcode register it'
What should I do? Can I virtually register my device somehow by putting its UUID somewhere? Can I sign up for a developer account and use TestFlight to distribute the app? Will that also require the device to be physically plugged in?
I can answer for the TestFlight part. You can distribute the app via TestFlight, and the device does not have to be plugged in. So that is very doable.
Using TestFlight is simple and pretty straight forward with many guides, official ones and also on youtube. There are several troubleshooting tips here on SO as well. The drawback as I see it is that it takes time before your pushed build is readily available on TestFlight. So it won't be a good way to iterate code changes fast.

What is the Recommended Approach to Automate IOS devices on Windows?

I've seen this topic going around and the answers on each site and post have given it a wide range when talking about how to automate IOS devices from Windows PC.
One side, I've seen it where mainly the answer is: it's not possible due to Apple's rules, or its really messy to set up and not worth the effort to maintain, (though not explained in detail why its messy.) On the other side, I've read articles and posts about recommendations of IOS simulators such as iPadian, Smartface, etc; along with articles suggesting to stay from this software recommendations stating that they likely contain malware and viruses.
I've found other sources suggesting Experitest, Appium Studio, Quamotion, TestProject to test and automate IOS on Windows PC. However, after reading the concerns of being cautious around these sites, and unable to proof if these studios/software legitimately support simulating real IOS environments on Windows and the arguments that are against going this approach, I can't tell which sources are reliable on this topic anymore.
The interest for me asking this question, as you can guess, is that I want to find a way to automate IOS on Windows and experience how run tests on iPhone.
I usually write my code in Eclipse Studio and use Oracle VM to create Android Emulators to test on. I'm fine if I need to have a physical IOS device in order to test.
All advice is appreciated.
Thank you
The best option I would suggest to automate iOS app on Windows is to use cloud based solution like BrowserStack, SauceLabs, etc.
This way you're sure that you will be using actual iOS device and the app would behave the same way as it would on real physical iOS device.
You can even inspect the app using Appium inspector and run the tests with ease as well.
The only drawback of using such solution is that most of them don't support latest version of Appium.
So the work around for this would be to setup Microsoft Azure DevOps pipeline on Mac OSX virtual machine and use latest Appium server version.
The tools you mention - Experitest, Appium Studio, Quamotion,... all use the same approach: they communicate with real, physical iOS devices over a USB connection and then launch an agent (WebDriverAgent or similar) on the device which you can use to automate iOS devices.
They will usually require you to at least configure an iOS developer certificate and provisioning profile (much like you would when you are testing on a Mac).
Most of them also offer you a free trial and support, so you can go ahead and install the software and give it a try.

Is there any tool available to automate iOS default (Emai)l app?

I have explored couple of tools like Appium,KIF, for these tools we need to own the app (to enable Automation Instrument) to automate. And also tried with .IPA files available on the internet (Gmail email client) on iOS simulator, not got any success yet.
I have requirement to automate iOS default Email app, is there any tool/approach to do this?
Yup, Apple has it pretty locked down for apps that are not yours. For that situation, you can try using Sikuli, which uses a computer vision approach to automation. (Sikuli uses OpenCV under the hood).
If you also want to automate an app on a real device, you can use Sikuli combined with a camera and Tapster, a robot for interacting with a device. (Disclosure: I started the Appium and Tapster projects.)

Can I put apps made on Corona SDK for windows on IOS?

I was just reading that the corona sdk for windows only builds for android devices.
So for us PC owners will we be at a disadvantage if we want to develop for IPADs or is there a way around this?
Can we work on the PC and then transfer the project to a mac to build it?
Yes, you can transfer your projects to a Mac to build. Many people use the Macincloud service for this.
Actually you can test your apps developed for Ipad,iphone ect... on Corona simulator on your PC. However, when you want to test the apps on the actual device, you need a Mac and a developer account with Apple.

iOS - Screen sharing in Perfecto Mobile

We were exploring various test suites for mobile automated testing and ran into this company called Perfecto Mobile. One of the features that blew me away was they are able to (without jailbreaking) effectively perform a "Remote desktop" on a physical iPad.
So, the iPad's screen is mirrored within a web application, it can register touch / swipe events on the web app and perform them on the device. The only relevant technical detail I have is that all this is being performed using commands sent over the USB cable.
I'm really curious as to how this is implemented and details on relevant Private APIs if any.
Thanks,
Teja
I'm not familiar with PerfectoMobile, but I can give you a few pointers on how this can be accomplished:
For the mirroring, one way would be to look at using AirPlay, the APIs are pretty well documented, but not to do what we're talking about which would require some serious reverse engineering, but it's definitely possible, these guys have done it. A different approach would be to run a background app that would periodically take snapshots of the main screen, and send them over a socket connection to a client. You could do this as a VNC server, and to incorporate the remote view in a web app, you could use noVNC. As far using a USB connection, in the case of the background app talking to a client over TCP, you could to a port forward.
To actually perform on the device the touch events sent from your remote viewer, most people have been using the GSEvent group of functions from the GraphicsServices private framework without needing to jailbreak the device. Again, a background app would receive over a socket an instruction such as "Tap there", instantiate the GSEvent, and inject it so it gets processed in the run loop of the most front app.
These few possibilities, at least, have been implemented successfully in different iOS apps up to iOS 6.1 (iOS7 is a different animal). You won't find any such app in the App Store, since Apple clearly prohibits the use of private frameworks in 3rd party apps, instead people deploy them in-house using Enterprise and ad-hoc provisioning profile. On Android however, there's VMLite available in the Play Store.
If you looking to share screen from ios / android, check out skreen.me. They have sample apps you can try out, also they provide libs for mobile app integration.

Resources