inkling / Subliminal

An understated approach to iOS integration testing.
Other
756 stars 54 forks source link

Add support for Xcode 6 and iOS 8. #259

Open wearhere opened 10 years ago

wearhere commented 10 years ago

This is a work-in-progress. USE AT YOUR OWN RISK.

It currently gets Subliminal running on Xcode 6, using iOS 8 Simulators. There is still a bunch of work to be done. Xcode 6 bugs are tracked here and things to do are tracked below. Anyone is welcome to contribute to this effort, even just to file bugs.

Getting Started

To run tests against iOS 8 from the command line, you will need to select the Xcode 6 toolchain. To permanently switch to the Xcode 6 toolchain (until you switch back):

sudo xcode-select --switch path/to/Xcode6.app/Contents/Developer/

To temporarily switch (until you close the current shell):

export DEVELOPER_DIR=path/to/Xcode6.app/Contents/Developer/

Making Changes

File an issue to track what you're doing. Link this issue from its description, and add a to-do item below.

Make changes on a branch of this branch, then submit a PR to this branch.

Execute some code only in iOS 8 like this:

if (kCFCoreFoundationVersionNumber > kCFCoreFoundationVersionNumber_iOS_7_1) { ... }

Don't break compatibility with Xcode 5.1--we still need it to test iOS 5.1 and 6.1. This means that if you need to use kCFCoreFoundationVersionNumber_iOS_7_1, for instance, put this at the top of the file under the #import statements:

// So that Subliminal may continue to be built using Xcode 5/the iOS 7.1 SDK.
#ifndef kCFCoreFoundationVersionNumber_iOS_7_1
#define kCFCoreFoundationVersionNumber_iOS_7_1 847.24
#endif

To-do:

Please make an issue for something if it requires discussion--only put comments on this issue if they concern the entire effort.