How to configure .ipa in Appium?

Hi… I am new in Appium and I have configure Appium in El Capitan 10.11.

Appium Version : 1.4.13

iPhone simulator : iPhone 6 and Platform version : 8.1

If I am not mention --ipa flag in App path then Appium Inspector open as well as .ipa file installed in simulator but application don’t launch. Continuously looping going on for installed app. What is the issue? And at last simulator will be crash.

Right now App path : /Users/testmac/Desktop/iPhone Test/Sample Application.ipa

Error Log:

info: [debug] Cleaning up appium session

error: Failed to start an Appium session, err was: Error: Instruments crashed on startup

info: [debug] Error: Instruments crashed on startup
at [object Object].Instruments.onInstrumentsExit (/Applications/Appium.app/Contents/Resources/node_modules/appium/submodules/appium-instruments/lib/instruments.js:440:31)
at [object Object]. (/Applications/Appium.app/Contents/Resources/node_modules/appium/submodules/appium-instruments/lib/instruments.js:353:12)
at ChildProcess.emit (events.js:110:17)
at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
info: [debug] Responding to client with error: {“status”:33,“value”:{“message”:“A new session could not be created. (Original error: Instruments crashed on startup)”,“origValue”:“Instruments crashed on startup”},“sessionId”:null}

After change app path with flag : --ipa

Now I have change the App path : --ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa in iOS Settings then it give me below error.

Error Log:

Launching Appium with command: ‘/Applications/Appium.app/Contents/Resources/node/bin/node’ lib/server/main.js --address “127.0.0.1” --command-timeout “7200” --debug-log-spacing --platform-version “8.1” --platform-name “iOS” --app “–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa” --full-reset --show-ios-log --device-name “iPhone 6” --native-instruments-lib

info: Welcome to Appium v1.4.13 (REV c75d8adcb66a75818a542fe1891a34260c21f76a)

info: Appium REST http interface listener started on 127.0.0.1:4723

info: [debug] Non-default server args: {“app”:"–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa",“address”:“127.0.0.1”,“fullReset”:true,“nativeInstrumentsLib”:true,“deviceName”:“iPhone 6”,“platformName”:“iOS”,“platformVersion”:“8.1”,“showIOSLog”:true,“defaultCommandTimeout”:7200,“debugLogSpacing”:true}

info: Console LogLevel: debug

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}

info: <-- GET /wd/hub/status 200 11.953 ms - 105 {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}

info: <-- GET /wd/hub/status 200 3.658 ms - 105 {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}
info: <-- GET /wd/hub/status 200 1.108 ms - 105 {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}

info: --> GET /wd/hub/sessions {}
info: [debug] Responding to client with success: {“status”:0,“value”:[]}
info: <-- GET /wd/hub/sessions 200 1.106 ms - 23 {“status”:0,“value”:[]}

info: --> POST /wd/hub/session {“desiredCapabilities”:{“platformName”:“iOS”,“platformVersion”:“8.1”,“newCommandTimeout”:“999999”,“automationName”:“Appium”,“deviceName”:“iPhone 6”}}

info: Client User-Agent string: Appium (unknown version) CFNetwork/760.0.5 Darwin/15.0.0 (x86_64)
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: **** NEW SESSION ***
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************
info: *************************************

error: Failed to start an Appium session, err was: Error: Bad app: /Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: ENOENT, stat ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa’

info: [debug] Using local .ipa from command line: /Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa
info: [debug] Copying local zip to tmp dir
info: [debug] Got configuration error, not starting session
info: [debug] Cleaning up appium session
info: [debug] Error: Bad app: /Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: ENOENT, stat ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa’
at [object Object]. (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios.js:188:13)
at [object Object]. (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/device.js:89:26)
at [object Object]. (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/device.js:156:23)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/helpers.js:41:21
at FSReqWrap.oncomplete (fs.js:95:15)
info: [debug] Responding to client with error: {“status”:33,“value”:{“message”:“A new session could not be created. (Original error: Bad app: /Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: ENOENT, stat ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa’)”,“origValue”:“Bad app: /Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa. App paths need to be absolute, or relative to the appium server install dir, or a URL to compressed file, or a special app name. cause: Error: ENOENT, stat ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/–ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa’”},“sessionId”:null}

info: <-- POST /wd/hub/session 500 14.694 ms - 1012

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}
info: <-- GET /wd/hub/status 200 0.812 ms - 105 {“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”}}}

Can you guys please help me what do I do for .ipa support?

How to configure .ipa in appium and start inspector properly?

Thanks in advance…

Point the app correctly , in the app path.

Its throwing bad app path .

Thanks,
Sathya

I have pass app path like this with and without .ipa.

1st I have passed App path : /Users/testmac/Desktop/iPhone Test/Sample Application.ipa

2nd time I have passed App path : --ipa /Users/testmac/Desktop/iPhone Test/Sample Application.ipa

Which one is right? Plz suggest for .ipa

I can see space in your folder, it might also be blocking( since its IOS ).

Try removing the blank spaces and provide the ipa Check and get back .

Lets try other options if this is not working !

Thanks,
SathyaNarayan

Thanks for the quick reply SathyaNarayan.

Finally I found the solution to support .ipa file in Appium. The process is little bit manually but yes once you done hope it works for all.

As I have read so many articles regarding to ipa support in Appium and people are try to pass -ipa flag in app path but I have tried so much but it not working for me. Do not know about if its working for others.

But for me I have tried below way.

Step 1: I have open Xcode 7 and build my project successfully with specific iPhone platform like iPhone with platform version 8.1
Step 2: Once successfully build done, going to .app location (Select .app file from Xcode and do right click and click on Show in Finder link). Set into Appium App path and launch the Appium server
Step 3: After successfully launching the server, click on Inspector. After few secs, configure simulator will be launch and given .app launch successfully
Step 4: Now for .ipa support, I have done simple thing. Open iTune and click on … (Doted) icon and click on Edit button
Step 5: Select Apps check box and click on Done button.
Step 6: Click on Apps tab and then drag my .app file into Apps tab
Step 7: After successfully drag, I select .app file and do right click on it
Step 8: Click on Show in finder, It will redirect to .ipa file location

Now its very simple. Now directly set .ipa file in App path (No need to set any flag like -ipa into App path). Simply launch application and click on Inspector button.

Note: If you face any issue like Inspector can’t launch thn do not worry simply click Ok button and re-click on Inspector button.

Enjoy your .ipa extension file into Simulator with Appium.

Hi DRaj, I am stuck with same issue , I saw you suggesting some solution, I only have .ipa file from developer, How I am going to steps you have mentioned from Step 1, How to open .ipa file in xcode,Any inputs are appreciated.

Hi @arun_app

First of all, take a project from the developer or check out the same project by urself. Open your Xcode and open the same project. You can take a help of a developer for the same.

Note: Before doing this ask a developer in which xCode they have built this project so using the same environment on your machine.

If you do not have a project and only IPA file then simply try to check sample IPA file in multiple simulators else ask developer in which iOS version its compatible? Once you know any specific OS version tried to set the same environment in your Appium.