Could not determine bundle identifier for xxxTest TEST_HOST

笑着哭i 提交于 2020-01-01 02:47:18

问题


We do have troubles getting our CI to work with Xcode. We encounter the issue Could not determine bundle identifier for xxxTest TEST_HOST: some path that does not exist.

What we have done so far:

  • On the CI Machine we are able to run all tests on the device, but if we trigger it with a commit the CI does end in that error.
  • We had that issue on other machines too, when we tried to run the tests of the application. We fixed that by cleaning the machine and reboot the devices.(Had do fix some scheme settings) Not we can run all tests but we run into the issue sometimes without any reason.
  • We also double checked the schemes. The Host Application is set in every Tests scheme to the App itself.

Our project has the following targets:

  • App
  • App Unit Tests
  • App UI Tests
  • AppeareanceKit (Module)
  • AppeareanceKit Unit Tests
  • Models (Module)
  • Models Unit Test

Found solution:

  1. Diabling the Tests except the App UITest
  2. Run the tests once
  3. Enable all Tests
  4. Run the tests

Question:

  • What is happening there? How can we prevent from having that issue over and over again?

Known questions:

Xcode 8 Beta - Convert to Current Swift Syntax Failed: Could not find test host

Tests stop working under xcode 8 TEST_HOST error


回答1:


So after ages of having this issue, we could find the right checkbox to fix this issue.

It somehow sounds weird but the issue was the configurations for the command-line builds inside of the Project settings.

I assume this happens because we always test against the debug configuration and it was set to release. Therefore it did the wrong build for the test host.

This does set the defaultConfigurationName inside of the {projectname}.xcodeproject.

Please comment if you have any more insights of this.




回答2:


In my app I found a solution.

The problem was of course in the test target.

I hope that this solution will work for you too. Go to your test target build settings.

Search for test host.

In my case this testHost was looking like

build/{buildConfigurationName}-iphoneos/{schemeName}.app/{appName}

Which is wrong as the actual path must be

build/{buildConfigurationName}-iphoneos/{schemeName}.app/{schemeName}

so if you have a build configuration called Alpha, in your app named MyApp, with a scheme called MyApp-Alpha the test host path should be

build/Alpha-iphoneos/MyApp-Alpha.app/MyApp-Alpha

it was

build/Alpha-iphoneos/MyApp-Alpha.app/MyApp

I hope this can help... unfortunately this issue appears in many cases.




回答3:


One reason to have this error is that your info.plist of your target is not in its path. So if you moved it or removed the reference to it, you may get this error.

So if you moved it, put it back into its place or path. if you removed the reference to it, add it again, close and reopen the project.



来源:https://stackoverflow.com/questions/39848098/could-not-determine-bundle-identifier-for-xxxtest-test-host

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!