marcoarment/FCModel — pull request #75 by ondrejmirtes (2014-05-24 14:34:07+00:00)
Title: Travis CI configuration and iOS 6 compatibility fixes

I prepared a configuration file for [Travis CI](https://travis-ci.org/), which builds open-source projects commits and pull requests for free. FCModel can benefit from automatic building and test-running against multiple versions of iOS SDK.

FCModel declares compatibility with iOS 6.0. While setting up Travis, I encountered usage of incompatible syntax in Objective C: @import clausule and .firstObject accessor on NSArray. I fixed those encounters with compatible legacy syntax. The oldest version Travis CI supports for testing is iOS 6.1.

I noticed that testDatabaseCloseFlushesCache sometimes passes and sometimes fails. I suspect it's because @autoreleasepool does not release the objects immediately. By adding one-second sleep before closeDatabase, the test always passes. (It's not ideal, but I can't think of a better solution right now.)

And there's one issue I couldn't resolve on my own: In iOS 6.1, compilation of FCModelTest_Tests.m fails because of this error:

```
/Users/travis/build/ondrejmirtes/FCModel/example/FCModelTest Tests/FCModelTest_Tests.m:537:50: error: reference to 'NSDocumentDirectory' is ambiguous

return [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"testDB.sqlite3"];

In module 'XCTest' imported from /Users/travis/build/ondrejmirtes/FCModel/example/FCModelTest Tests/FCModelTest_Tests.m:9:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSPathUtilities.h:64:5: note: candidate found by name lookup is 'NSSearchPathDirectory::NSDocumentDirectory'
```

I don't know what causes it. One option is to drop iOS 6 support (which is probably fine now) by updating the Podspec and cherry-picking commits from this pull request to omit the backwards-compatibility fixes.