I'm trying to integrate my project into Travis CI, and my builds have failed with the following errors:
Undefined symbols for architecture i386 and Undefined symbols for architecture x86_64
I get these errors for basically every class in my project that hasn't been added to the test target under Target Membership. I could probably solve this by adding every single .m file as a member of the test target, but that doesn't really make much sense, and my
I've tried to replicate this issue locally by running both of the following commands:
xcodebuild -workspace myWorkspace.xcworkspace -scheme MyProjectTests -sdk iphonesimulator build test
xctool -workspace myWorkspace.xcworkspace -scheme MyProjectTests -sdk iphonesimulator build test
Using xcodebuild
, it works, runs, and the tests pass. Using xctool
the tests fail with the same errors that Travis is using, as Travis uses xctool.
Does anyone have any ideas if there's a best fix for this issue? I assume I missed something somewhere, but I followed the standard Travis 'Getting Started' walkthrough.
After fussing with this a bunch with no luck, it appears as though I'm able to set a custom script for Travis to use instead.. As mentioned, the
xcodebuild
worked, so I added the following to my travis.yml file and everything was all good: