This is awesome. I love your teaching style, and your videos are always on point. So the big question for me becomes when should I start adopting iOS 17 API changes? Should I just dive in right away now that it's public, or should I wait? What is adoption like a week after release? I don't know how to check these things, but that's OK. I feel like I should assume most iPhone users will upgrade quickly, most likely. It's a little hazier when I want to also publish a Mac Catalyst version, because stuff like SwiftData and these new features won't run on Sonoma, and I don't know if people upgrade their Macs straight away.
Glad you like them! There's not official data out on that yet, but historically yes... iOS users tend to adopt the latest version pretty quickly. Here's the iOS 16 adoption for context - mixpanel.com/trends/#report/ios_16/from_date:-365,report_unit:week,to_date:-27
At times, it may not line up perfectly. To observe this, test it on an iPhone and try swiping your finger back and forth very quickly. When you release your finger, you'll notice it.
Sean, have you done a deep dive into swift data? i’m having some issues now with the model controller. Trying to get my first app on the App Store. These errors are killing me.
I haven't done a super deep dive. I have my surface level Swift Data video and I'm working on my own Core Data - SwiftData conversion. Give me a few more months and I'll be a lot more comfortable with it.
This is awesome. However, when I attempt to use it in my project I am getting the error: 'containerRelativeFrame(_:count:span:spacing:alignment:)' is only available in iOS 17.0 or newer. There's a couple of fix options: - Add 'if #available' version check - Add @available attribute to enclosing property - Add @available attribute to enclosing struct So does this mean if the running user's device is not on iOS 17 then this feature is essentially not accessible for them? Personally, I want to code 1 thing and not have to incorporate checks to see if they are on iOS 17 and if they aren't then have to code a different feature for those users.
Yes, this feature is only available in iOS 17. So if you need to support iOS 16 or below, you’ll need to use the availability checks you listed above. However, if you can make your app a minimum of iOS 17 then you can use the code in the video.
That makes total sense. If I am working on an App that I expect to get onto the App Store within the next 6-12 months, do you think making the Minimum Deployment of iOS 17 is fine? Curious if it would negatively impact downloads and what not.
If you aren't going to release for another 6-12 months then I would do a minimum of iOS 17. Because by the time you release iOS 18 will be out (or close to being released) and it's most common to support the latest 2 iOS versions (in your case would be iOS 17 and 18).
Has anybody else gotten this to work? When I try I get 2 errors on line 19 with Sean's code: Cannot infer contextual bas in reference to member 'horizontal' & Value of type 'Circle' has no member 'containerRelativeFrame'... bummer I really wanted to play around with this.
Hey@@seanallen I really appreciate the quick response! The highest version I am able to set the minimum deployment is 16.4. Do I need to create a new target in my project?
@@seanallen I got this working and was then able to adjust it to work vertically using a custom view I made instead of a circle. Thank you. As a side effect it still is passing the gradient colors from the items array which adds a cool design
It looks cool, but SwiftUI is not popular in production. Targets are still below 15, so you dont have that fansy staff, you may do it yourself or die)))
@@seanallen Currently i'm working for a big enterprise, that doesnt take risks) It will take years to change something( We have only one screen made with SwiftUI (I'd made it despite everyone having doubts) So i'm not dismissing it at all)
@@Stricken174it was the same as it was with Swift in the beginning, but slowly SwiftUI will become a thing. Slowly, but surely we are moving towards iOS 16-17 becoming the minimal target version and after that there will be absolutely zero reason not to go to SwiftUI. Currently it is worth trying it even with lower versions. My project is from iOS 14+ and even though I can’t use the shiniest things yet, there is still so much I can use. For everything else I can still create a UIView and throw in some NSLayoutConstraints
I started my (side) project with iOS 17 as target and realized it won’t work on iPhone X and below. But it’s too late now. I’m not going back to Combine!