for a RubyMotion gem, I use Travis for the tests. The tests are passing locally but fail on Travis. The reason is quite simple, all the code from one pod is not fully compiled.
If you look at https://travis-ci.org/bmichotte/ProMotion-XLForm at line 838 (for the actual build), it compile only those files
Build ./Pods.xcodeproj [XLForm - Release]
Compile ./XLForm/XLForm/XL/Helpers/NSExpression+XLFormAdditions.m
Compile ./XLForm/XLForm/XL/Helpers/NSArray+XLFormAdditions.m
Compile ./XLForm/XLForm/XL/Helpers/NSPredicate+XLFormAdditions.m
Compile ./XLForm/XLForm/XL/Helpers/NSObject+XLFormAdditions.m
Compile ./XLForm/XLForm/XL/Helpers/NSString+XLFormAdditions.m
while locally, it compile all files.
I'm not sure who is guilty (cocoapods, rubymotion, motion-cocoapods, ...) ? because it use the exact same version as I am using except xcode (6.1 on Travis, 6.4 locally).
Any idea why this occurs ?
Ok, so after a --trace, I was able to find the issue
The pod I use, use nonnull
, null_unspecified
and other keywords supported by XCode 6.3+ while the default XCode on Travis is 6.1...
Adding osx_image: xcode6.4
on my .travis.yml corrected the issue...
Now, I only have to get a RubyMotion install on this.