If I have a 2015 macbook stuck on macos 12.x will ...
# compose-ios
e
If I have a 2015 macbook stuck on macos 12.x will I be able to run Compose apps or would I have to update my hardware?
🤔 1
s
The real question is if your XCode is high enough. That’s 14.2 for macOS 12. Apple announced this:
Please note that as of April 2024 all iOS and iPadOS apps submitted to the App Store must be built with a minimum of Xcode 15 and the iOS 17 SDK.
So even if Compose for iOS should work, this won’t help you much.
If you ask me Apple does this on purpose to sell new hardware to developers from time to time. 😉
With this move they deprecated all devices before 2017, because those did not get macOS 13 and therefore no XCode 15.
So you can roughly say that Apple wants you to update your developer hardware all 6 years I guess. 👀 Given that most people I know change hardware every 5 years this is just long enough to not have a huge shitstorm. 😅
I understand that Apple does not want to take care of a big legacy, which is why they are to harsh on iOS updates, too. That indeed has its benefits for us devs. I mostly don’t care for old iOS versions. This is a huge difference to what we need to do to support old Android versions. Also I can request every 5 years a nice brand new company MacBook and blame Apple for that. 😁
e
I plan to build the app in a CI environment. I ask because I want to run and debug locally
s
In that case I think it should work, but I don’t know the minimum XCode for Compose iOS. I would suggest to run the sample apps. However, this approach will still limit you to older iOS features. And you will have to do things like manipulate your XCode project in CI to increase the iOS target version. You may not be able to set it to the required iOS 17 using XCode 14.2
I am certain that there is a way to make it all work I am unsure if it’s worth the hassle. Also with a 2015 MacBook you miss out the power of an M1 chip, which I absolutely love. 🙂
e
I have a 12th gen i9 with 64gb of RAM on my main desktop. Waiting for tasks to run on the MacBook is painful 😬
s
Ok, so you want to know if you can still use your older MacBook on the go.
Install XCode 14.2 on your desktop, run the Compose iOS app and you will have your answer 😄
m
@eygraber Are you talking about Compose (desktop) apps or running Compose (iOS) apps on macOS.
s
I'm pretty sure it's Compose for iOS given the channel we are in. 😄
m
OK, so you always have to watch the context in order to understand the questions 😉.
s
I bet not. 😅
But it's a good question in the regard that by looking at https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compatibility-and-versioning.html#jetpack-compose-and-com[…]iplatform-release-cycles I wasn't able to tell what minimum XCode for Compose for iOS is needed.
For the question if he is able to run his iOS app on macOS, this is a clear "no". He would require a Apple Silicon for that.
m
Now you have me completely confused. What is he trying run if it’s neither a desktop app nor an iOS app? What else could “run Compose apps” mean?
s
😄 I think he basically is asking for the requirements of Compose for iOS, which are not documented as far as I can see.
It would make sense that it there must be a minimum iOS version that Compose for iOS needs.
m
Again this could be misunderstood. Do you mean minimum iOS version for building a Compose app or just running it on a device. The question was about “a 2015 macbook stuck on macos 12.x”. No word about iOS.
👀 1
e
I was asking because of https://kotlinlang.org/docs/multiplatform-compatibility-guide.html#version-compatibility But I got it to run, so we're good at least for now
s
So Compose for iOS runs with XCode 14.2, even if XCode 15.0 is stated?
e
It would seem so
d
The minimum version required for K/N can be found here: https://github.com/JetBrains/kotlin/blob/master/kotlin-native/konan/konan.properties#L88 For macOS, you must target at least macOS 11. You use Xcode 15 to build the project. The project, though, can configure a Minimum Deployment target of anywhere from macOS 10.13 to 14.4 depending on Xcode version; so that minimum deployment target must be >= macOS 11. If the min target is set to macOS 11, then the resulting binary can be run on a macOS 12 device.
👍 1
e
It built with Xcode 14.2 ¯\_(ツ)_/¯