New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
watchOS support #333
Comments
Awesome!! You probably know more about watchOS than I do--care to submit a pull request? |
I got started on this but there I'm already facing the first issue. There seems to be no XCTest framework for the watchOS simulator. Did Apple say anything about running tests on the watch during WWDC? |
Yes. Xcode 7 supports unit and UI testing of watchOS 2 apps. Creating new watchOS app includes a Unit Test and UI Tests target by default. The |
@phatblat Yes, that option does exist but those tests are for the normal app target. |
This should probably be kept open until Apple fixes rdar://21760513, but until then there's not much we can do. |
Noticed that the Radar is still open but has there been any developments with this? |
I know very little about watchOS. From what I understand, it doesn't really have XCTest...? So we may indeed by blocked by Apple on this one. If someone here has actually developed for the Apple Watch, their insight would be great to have on this issue. |
FWIW, cedar did support watchOS to some degree. I haven't checked recently if it still works. Most of the heavy lifting was done in PivotalCoreKit which faked out the classes being inherited. I'm not sure if that has been updated to newer watchOS SDKs. |
Sounds good to me. On one hand, I think supporting watchOS would be good but on another, if Apple hasn't supported it internally in Xcode with a test target, I don't see the point because the tests would be in the normal watch target (if I'm understanding correctly). |
We could close this for now and reopen it in the future. There's hope for watchOS 4, haha. |
A normal watch target isn't necessarily a bad thing. Back in the old days before test bundles were allowed on iOS, an iOS app was the target type for those writing test suites. App-target tests are easier to maintain from a technical side, but they will probably cause a larger support burden because they differ to test bundles in specific ways. That being said, I think it's fine deferring it for now. It's not an often requested feature so I don't think it's high on the list of priorities. |
I mean, if we'd like to come back to this in the future, I don't mind but I think it's fair as you said to defer it for now. If there's a random spike in popularity in the request then we can totally do it! |
I'd like to close inactive or deferred issues. All of the blocked ones that we may come back to have the blocked tag on there for a reason. We can always come back to them and reopen them again if they become relevant. With that said, I'm going to close this one but we can totally reopen again if necessary. |
https://developer.apple.com/documentation/xcode-release-notes/xcode-12_5-release-notes
|
Any news on this? The first error I get is that Would it be possible to just let these unsupported parts resolve to something that is disabled or stubbed out in watchOS, perhaps with an assertion error so that unit tests always fail on watchOS? That would let us build all projects that rely on Quick and Nimble, but at least let the projects compile for watchOS. That would be a huge win. I love using Quick and Nimble, but this error makes supporting watchOS a lot harder in the projects where I use them. |
I just made Nimble compile on watchOS by just adding an #if switch to This means that I tried disabling This is the new implementation:
@ikesyo I will create a PR for Nimble, after which I will bump the Nimble dependency in Quick and check if the unit tests work there as well after this fix. If so, we can hopefully close this issue after creating a new Nimble version. You can check out the pull request here. |
I can confirm that Quick compiles and the unit tests run for watchOS after linking in the fix above. If you merge the Nimble PR and create a new patch version of Nimble, then make Quick use that version, I think we should be able to close this issue. 🤞 |
@ikesyo Any progress on this? I'd love to get my PR merged and released, so that I don't have to use my own forks in my various watchOS supporting projects. Lmk if I can help in any way. |
Quick (and Nimble) need to add a watchOS target to support the new watchOS architecture.
The text was updated successfully, but these errors were encountered: