Quick / Nimble

A Matcher Framework for Swift and Objective-C
https://quick.github.io/Nimble/documentation/nimble/
Apache License 2.0
4.8k stars 601 forks source link

Add support for watchOS #916

Closed JosephDuffy closed 2 years ago

JosephDuffy commented 3 years ago

This PR is to add support for running on watchOS. Since Xcode 12.5 watchOS has been supported but Nimble doesn't currently compile for watchOS.

A new target has been added to the project, along with explicit support in the Package.swift.

I don't believe anything here is a breaking change.

I have a fork of Quick that also supports watchOS. I'll create a PR for that if this PR gets approved and merged.

younata commented 2 years ago

Hey @JosephDuffy, thank you for this! I'd love to get this in. I just merged main into it. Perhaps this should also include a revert of https://github.com/Quick/Nimble/pull/953 (or, at least, disable throwException if you run the test suite on actual hardware)? Sorry to add that extra work on you.

younata commented 2 years ago

In the interest of getting v10 released sooner, I'm going to move watchOS support to the next major release (v11).

JosephDuffy commented 2 years ago

@younata I've re-enabled watchOS support, I think this PR is ready again. Once this is merged I'll create the accompanying PR for Quick.

JosephDuffy commented 2 years ago

I've made the requested changes, although it's worth noting that watchOS tests can't be run on watchOS versions older than 7.4.

This is enforced by Xcode, but I thought it would be a compilation error rather than an error when trying to run the tests, which is why I originally had this set to watchOS 7.4.