Unable to start application in this device : Support for Xcode 0.0 is not supported

Hi Katalon Team,
I am trying to run an .ipa App on my iOS simulator using Katalon studio. But every time I try running it, it gives me the following error :
Unable to start application on this device. Xcode version 0.0 : Support for Xcode 0.0 is not supported. Please upgrade to version 7.3 or higher.

The details are as under :
Appium version : 1.8.1
Katalon studio version : 5.7.1
Xcode version : Version 10.0 (10A255)

Any help will be highly appreciated.

Hi Chand,

Katalon Studio doesn’t support Xcode 10 yet.

You’ll have to install an older version (9.4.1 is what I have) alongside Xcode 10. You can do this by going to https://developer.apple.com/download/more/ and downloading the older one.

You’ll be asked to “Keep Both” when you install - do that. I named mine “Xcode_9.4.app”. Then you’ll have to set the default version to the older version:

sudo xcode-select -s /Applications/Xcode_9.4.app/Contents/Developer

Enter your login/system password when prompted.

Now you can use Xcode 10 to develop, but still run Katalon Studio.

Hope this helps,

Chris


EDIT

Katalon Studio 5.x and 6.x will support Xcode 10 and iOS 12 if you use Appium Server 1.8.2-beta:

npm install -g appium@1.8.2-beta

or Appium Desktop 1.6.3 (https://github.com/appium/appium-desktop/releases/tag/v1.6.3)

Hey Chris,
Thanks again man. You are a savior. I am able to launch the iOS App from Katalon Studio now on iPhone simulator. But I think I am facing chain of issues at each progressive step, especially for iOS.

The other problem I am facing is :
The App terminates as soon as it launches. There are the following error messages that gets displayed :

[XCUITest] Simulator architecture appears to be unsupported by the ‘{App Path}’ application. Make sure the correct deployment target has been selected for its compilation in Xcode.

ld exited with code ‘65’ and signal ‘null’

[XCUITest] Shutting down sub-processes

[XCUITest] WebDriverAgent uninstall failed. Perhaps, it is already uninstalled? Original error: {}[Appium] Welcome to Appium v1.8.1

Hi Chand,

Usually an error 65 means that something wasn’t signed correctly, either in the WebDriverAgent (which Katalon/Appium uses to control actions on your device) or the app you’re trying to test itself.

First, I would make sure you follow the steps to make sure the WebDriverAgent is signed correctly:

https://www.mutuallyhuman.com/blog/2017/04/20/webdriveragent-getting-started-with-automated-ios-testing/

Next, I would check how the app you’re testing is built and signed. Unfortunately, you probably won’t be able to test a .ipa file because those are not created to be run on simulator architectures. Instead, you should try to test the .app file, which will be unsigned (you may need to get this directly from a developer).

Hope this helps,

Chris

Hi Chris

My WebDriverAgent section has been built correctly . I picked up the .app file generated from the developer machine present in DerivedData folder of her app project.

But even then, I am getting the following error :

[XCUITest] Simulator architecture appears to be unsupported by the
‘{.app path on my machine}’ application. Make
sure the correct deployment target has been selected for its compilation
in Xcode.

[XCUITest] Don’t be surprised if the application fails to launch.

Kindly help on this like always.

Thanks in advance,

Chand

Hi Chand,

I think the issue you’re seeing now is that an .app file can be built for a real device or a simulator (these have different architectures - arm vs. x86, respectively). In order to run the test on your simulator, your dev will need to build the .app file while selecting a simulator instead of a real device.

Alternatively, your developer may be able to build the app by setting “Build Active Architecture Only” to “No”.

To verify which architectures an .app is built for, you can run:

lipo -info path/to/MyApp.app/MyApp

- Chris

Hi Chris,

I followed your suggestion of having two versions of XCode. But iOS devices which are running on 12 are not supported with XCode 9.4.1. In this case what needs to be done .

i get this error everytime i try to run the build from command line.
NSLocalizedRecoverySuggestion = “This iPhone 6s Plus is running iOS 12.1 (16B92), which may not be supported by this version of Xcode.”;

Please throw some light on this.

Thanks & Regards,
Prashanth Thiruvaskur

Hi Prashanth,

Unfortunately, you’re correct that you can’t run the tests on an iOS 12 device because those simulators require Xcode 10 to be the active version. If you want to run the tests, you’ll only be able to run them on iOS 11 and lower devices until Katalon Studio supports Xcode 10.

– Chris

Thanks for the reply Chris. Any information on when Katalon is going to support XCODE 10. As this will definitely stall my PoC moving further using katalon. Rather should find another option.

Hi Prashanth, I don’t have any insight into the support roadmap for Xcode 10 or Appium 1.9, but I’m trying to find out. :crossed_fingers:

– Chris

3 Likes

Hi Chris,

lipo -info doesn’t worked for me:

fatal error: /Applications/Xcode 9.4.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can’t figure out the architecture type

My app immediately closes after launch. Even if I try to launch it manually in the simulator, it will do the same. Here’s the complete log:

java.util.concurrent.ExecutionException: org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Original error: unexpected end of stream on Connection{127.0.0.1:50582, proxy=DIRECT hostAddress=/127.0.0.1:50582 cipherSuite=none protocol=http/1.1}

Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’

System info: host: ‘Annas-iMac.local’, ip: ‘10.0.2.15’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.14.3’, java.version: ‘1.8.0_181’

Driver info: driver.version: IOSDriver

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:49)

at com.kms.katalon.composer.mobile.objectspy.components.MobileLocalAppComposite$12.run(MobileLocalAppComposite.java:474)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Original error: unexpected end of stream on Connection{127.0.0.1:50582, proxy=DIRECT hostAddress=/127.0.0.1:50582 cipherSuite=none protocol=http/1.1}

Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’

System info: host: ‘Annas-iMac.local’, ip: ‘10.0.2.15’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.14.3’, java.version: ‘1.8.0_181’

Driver info: driver.version: IOSDriver

at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:208)

at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)

at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)

at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)

at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)

at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)

at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)

at io.appium.java_client.DefaultGenericMobileDriver.<init>(DefaultGenericMobileDriver.java:38)

at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:84)

at io.appium.java_client.ios.IOSDriver.<init>(IOSDriver.java:85)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:495)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:479)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startLocalMobileDriver(MobileDriverFactory.java:460)

at com.kms.katalon.composer.mobile.objectspy.dialog.MobileInspectorController.startMobileApp(MobileInspectorController.java:191)

at com.kms.katalon.composer.mobile.objectspy.components.MobileLocalAppComposite$12$1.call(MobileLocalAppComposite.java:479)

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.startThreadAndWait(ProgressMonitorDialogWithThread.java:36)

at com.kms.katalon.composer.components.impl.dialogs.ProgressMonitorDialogWithThread.runAndWait(ProgressMonitorDialogWithThread.java:48)

… 2 more

Caused by: java.lang.reflect.InvocationTargetException

at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:186)

… 20 more

Caused by: java.io.IOException: unexpected end of stream on Connection{127.0.0.1:50582, proxy=DIRECT hostAddress=/127.0.0.1:50582 cipherSuite=none protocol=http/1.1}

at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:208)

at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

at org.openqa.selenium.remote.internal.OkHttpClient$Factory$1.lambda$createClient$1(OkHttpClient.java:152)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)

at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)

at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)

at okhttp3.RealCall.execute(RealCall.java:77)

at org.openqa.selenium.remote.internal.OkHttpClient.execute(OkHttpClient.java:103)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:105)

… 21 more

Caused by: java.io.EOFException: \n not found: limit=0 content=…

at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:237)

at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)

at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)

… 41 more

Hi @agarcia,

If your app is crashing on launch, it could be that it’s built for the wrong architecture or that it is signed incorrectly. Do you have access to the Xcode project and can you build and run the app on a device or simulator from the Xcode project (or can you have a developer do so?) That way we can try to figure out if it’s a problem with the app.

Could you also provide the version of Xcode and the iOS version you’re trying to run on? The versions of Appium and Katalon Studio will also be helpful.

Thanks,

Chris