Hello everybody,
I’m trying to adapt some Android testings with the Java-client librarie to the iOS Plateform.
Here is the setUp() for Appium: @Before
public void setUp() throws Exception {
capabilities.setCapability(“platformName”,“iOS”);
capabilities.setCapability(“deviceName”,“iPhone de Quentin Vanmeerbeck”);
capabilities.setCapability(“platformVersion”, “8.0”);
capabilities.setCapability(“bundleId”,“com.thegoodbundleid”);
capabilities.setCapability(“udid”, “3f8b12dd48fcdd9308095208ce013ec01e6ff”);
capabilities.setCapability(“appPackage”, “com.thegoodappPackage”);
driver = new IOSDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);
}
When I try to run this, here is the info in the Appium Server Console:
The main problem is: “The app must be signed with a development identity” so i re-signed the ‘in-house’ application from ou developer with my developper Account and the right provisioning profile. But now, I don’t know how to install my app.
When I upload this new resigned app on a storage and download the app on the device. This app can’t be installed no more. (the same with Dropbox).
I tried to install the application with Appium with this desired capability:
capabilities.setCapability(“app”, app.getAbsolutePath());
But the error is now this one (that i can’t understand):
I tried to install the .app file from our own storage, frow dropbox or with Itunes.
If the app is signed with a development identity, it’s impossible for me to install in on the device.
If the app is signed with a production identity, I can install it but can’t run any appium test on it.
You cant directly install a .app file, it can be done through appium(which uses fruitstrap internally).
But for this the app needs to be signed with a development identity.
Best way for you is get the source code and build the app on your own machine with Xcode rather than downloading from storage(which can corrupt the file)
I could get the source code and build the app but I work in a Quality Assurance department and we need to test more than 5 apps every day. I want to build an automation framework to save some time so I prefer to test the .app that developers give us and to make black box test instead of having their code.
Were you able to resolve this issue? i’m experiencing the same series of issues/events ?? I was provided a web driver location where I had to download a ZIP file containing the RESIGNED APP, i had to extract the ZIP content and provided APP path, BUT continue getting the “Command failed” error.
I’m suspecting the signing wasn’t properly done???
But if it is a signing issue, the error est literally "The app must be signed with a development identity… " You don’t seems to have this type of error.
i’ve search around for this “Command Failed…ideviceinstaller” error and found is could also be related to the signature of the App being tested. I’ve asked the developers to provide me with the IPA version of it, haven’t tried that yet. But ideviceinstaller should work for both .ipa and .app
I’ve also tried to use the “ideviceinstaller” in command line to install the .app file and got an error indicating it failed validating app
i was able to successfully install .ipa (not signed with developer identity) without any issues using ideviceinstaller
I will reply myself to help some people that could face the same problem:
HERE IS THE ANSWER: The provisioning profile of an iOS application has a boolean variable called “get-task-allow”. This variable must be set as True.
For production builds, this variable must be set as False. Resigning an app with a entitlements.plist having get-task-allow as true is not sufficient, the resigning process must also copy a new embedded.provisioning.
We’re still facing the issue - The app must be signed with a development identity even we’re done with provisioning profiles and mapping of UDID multiple times, but no luck.
We’ve followed he reference links for build process: