Appium iOS app testing


I want to test the Gmail / Facebook / Twitter iOS application.

Is this possible with appium.

I downloaded the above files from itunes store in Mac. But i got the .ipa files.

Can we do the iOS automation using .ipa files.

Please provide your suggestions.

Venkatesh M

along with .ipa file A valid iOS Development Distribution Certificate
and Provisioning Profile are necessary to test on real device for all the three
gmail/facebook/twitter then only u can automate

1 Like

How can we get a valid iOS Development Distribution Certificate and Provisioning Profile…

Please provide any link

Can’t we download gmail/facebook/twitter app files from google or itunes store

to my knowledge you can not do that. As sendlink mentioned you need a Certificate and a Profile which you basically get from the Developer of the app, e.g. Facebook, Google. If you work at those companies you may get those files otherwise …

1 Like

Thanks sendlink and Stephan…

If you come across any possible solution please post here.


You cannot automate:

  • Enterprise apps (they are signed with distribution certs)
  • App Store apps (they are signed with distribution certs)
  • Apps sent over AirWatch (they are signed with distribution certs)

This is because the .ipa file needs to be signed with a DEVELOPMENT provisioning profile/cert not a distribution provisioning profile/cert for Apple’s Instruments (the thing that tells iOS what to tap) to automate your app.

.ipa files that you have downloaded from the app store cannot be automated because they would need to be resigned with a valid Development provisioning profile/cert (something that is tied to your appleId and authenticated against Facebook, etc’s developer accounts.).

If you have an internal app that is an Enterprise App, you can resign it and then install it to the device to be automated. The point is you need access to the development certificate and profile to resign it.

@sendlink To be clear: It is .ipas with a “Development” provisioning profile that can be automated – NOT a “Development Distribution” profile.


So, Appium supports executing scripts only on Developer provisioned app, anyone knows if there is a way we can use the app built using distribution profile?

You might look to calabash.

How do cloud providers run Appium scripts if developer profile is required? TestDroid page suggests to sign the app with Ad Hoc profile before submitting to them although they resign it - so if what is mentioned in this post is correct, are they resigning with their own company development profile? Then why do they even suggest posting an app signed with Ad Hoc profile to them in the first place?

If developer profile is the only way, how to test things like location services against real devices using developer profile? In simulator you have .gpx or .kml file but for automation, we need real device testing - how to test location then?


Has anything changed with the introduction of XCUITest?

Best regards,

1 Like

I also got problem simulating my .ipa file using appium even it is development provisioning profile. Are there any specific desired capabilities need to be followed?

This is what i’m getting after launching it:

SONWP Proxy] Got response with status 200: {“value”:“Failed to launch application”,“sessionId”:“F07E0D7E-969F-4CC1-BBB1-C19ABA2AEBDF”,“status”:13}
[XCUITest] Failed to create WDA session. Retrying…
[BaseDriver] Event ‘wdaSessionAttempted’ logged at 1496360482667 (11:41:22 GMT+1200 (NZST))
[XCUITest] Sending createSession command to WDA
[JSONWP Proxy] Proxying [POST /session] to [POST http://localhost:8100/session] with body: {“desiredCapabilities”:{“bundleId”:“”,“arguments”:[],“environment”:{},“shouldWaitForQuiescence”:true,“shouldUseTestManagerForVisibilityDetection”:false,“maxTypingFrequency”:60,“shouldUseSingletonTestManager”:true}}

Can some of the appium/XCUITest experts comment on this?

Hi Letmeautomate, even i am experiencing the same problem. Have you fixed the problem. I think we might need developer provision certificate.

You are correct in that you need your own Apple developer account and an appropriately configured provisioning profile for testing. This is needed for building your iOS app and WDA… Apple makes automating and sideloading apps a rather tedious process in comparison to Android and all of the extra steps must be completed for anything to work. This tutorial from the Appium crew should get you where you need to go.

If you get through all of the steps listed there and are still having issues, we may be able to pick apart your execution logs for a unique problem.

Good Luck!