Skip to content
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

Xcode 14 (14A309) regression: Project does not build #199

Closed
Sajjon opened this issue Sep 13, 2022 · 7 comments
Closed

Xcode 14 (14A309) regression: Project does not build #199

Sajjon opened this issue Sep 13, 2022 · 7 comments

Comments

@Sajjon
Copy link

Sajjon commented Sep 13, 2022

I just downloaded Xcode 14 (non beta), version 14A309, and this project fails to compile.

Screenshot 2022-09-13 at 10 34 29

@stephentyrone
Copy link
Member

I put a note on your forums post, but this is a consequence of Xcode 14 containing a macOS 12 SDK, which has the Swift 5.6 standard library. For development using Swift 5.7 features targeting macOS, you should continue using the Xcode beta until a release with the macOS 13 SDK is available.

@minacle
Copy link

minacle commented Sep 13, 2022

Duplicate of #195

@Sajjon
Copy link
Author

Sajjon commented Sep 13, 2022

@stephentyrone @phausler What will be the minimum deployment target for an iOS app using this library?

Because the Package.swift on main branch states:

  platforms: [
    .macOS("10.15"),
    .iOS("13.0"),
    .tvOS("13.0"),
    .watchOS("6.0")
  ],

But Apple Documentation of Clock states iOS 16

And this discrepancy, iOS 13 vs iOS 16 confuses me, ought to be the same, and which is that? iOS 16?

Thus I cannot ship any iOS app which needs to target iOS 13, if this package in fact requires iOS 16?

@FranzBusch
Copy link
Member

This project should still require iOS 13 to build and all the algorithm that require Clock are guarded with @availability checks. In practice, this means that all algorithms that are using Clock are only useable from iOS 16 onwards.

@Sajjon
Copy link
Author

Sajjon commented Sep 13, 2022

So @FranzBusch TL;DR is: I can ship an app using this project, targeting iOS 13. But for iOS 16 users, under the hood, their version of the app will using Clock, which does not really lead to any changed behaviour..? Apart from being a Developer Experience upgrade? (I dont know if Clock etc will give any performace upgrade?)

@FranzBusch
Copy link
Member

So @FranzBusch TL;DR is: I can ship an app using this project, targeting iOS 13. But for iOS 16 users, under the hood, their version of the app will using Clock, which does not really lead to any changed behaviour..? Apart from being a Developer Experience upgrade? (I dont know if Clock etc will give any performace upgrade?)

That is not quite right. You can ship an app using this package targeting iOS 13; however, you cannot use operators like debounce since the Clock API is not present in the SDKs before iOS 16. As long as you stick to operators that are not using Clock based implementations you won't face any problems.

@Sajjon
Copy link
Author

Sajjon commented Sep 13, 2022

@FranzBusch Right, makes perfect sense, thank you so much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants