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 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.