I am developing an iPhone app using Xcode 5 and CocoaPods. I have a scheme and target called Oahu
that I run my tests against. Accordingly, I am not surprised to see my two test targets present to be built in the scheme's build phase. However, there is a fourth build target that cannot be removed:
When I run tests, all four targets are built, and the test targets are run against the last, incorrect one, Ku
.
And after closing Xcode, deleting the contents of the DerivedData
directory, and deleting all the *userdata
files in my project directory (find ./ | grep userdata | xargs rm -rf
), I still have an extraneous build target:
Notice that it now included my Production
target and I also had unchecked Find Implicit Dependencies
.
I've looked through all my build settings, Oahu.xcscheme
, and project.pbxproj
, but I can't find anything that would leave to this behavior. Unchecking the scheme's Build Option Find Implicit Dependencies
has no effect.
This Oahu
scheme is the only one that has this problem – the Ku
and Production
schemes only have their corresponding targets – though if I duplicate the Oahu
scheme, it also has this problem.
Can this be fixed?
I just had the same issue. In my case the additional target appeared in the build settings of the scheme's target. You can search for the undesired target name there, I found mine under BUNLDE_LOADER and TEST_HOST. It got fixed after I deleted the settings.
I found all my build and test problems were related to having the same binary name. Renaming the binaries produced by each target to be unique fixed the problem.
In my case, it was because the target was listed under Target Dependencies under the Build Phases of my test target.