On old versions of macOS I get failed tests which turn out fine on my own machine. It seems that the macOS environments on travis CI give wrong information about ObjC API availabilities. Here is a simple ObjC program to demonstrate the issue: https://github.com/patr0nus/travis_objc_if_available/blob/63a928b63ae7bf9aed1dda6456da885887df3565/objc.m
On travis I compiled this program on 10.14 and ran it on 10.11-10.13. Here is the results:
https://travis-ci.com/patr0nus/travis_objc_if_available/jobs/259338793
https://travis-ci.com/patr0nus/travis_objc_if_available/jobs/259338794
https://travis-ci.com/patr0nus/travis_objc_if_available/jobs/259338795
macOS 10.11-10.13 all claim that the 10.14 APIs are available but they are actually not. This break tests that depend on the API availability checking.