6 ms·
Someone replied to the original tweet with an example of their iOS dev experience: Boss wants to change our iOS game icon. Changing icon requires a new build.
by cpeterso 5y ago
Someone replied to the original tweet with an example of their iOS dev experience:
Boss wants to change our iOS game icon. Changing icon requires a new build. A new build requires iPhone X support. iPhone X build target requires Xcode 9. Xcode 9 requires macOS 10.12. OS update breaks old Unity3D. Upgrading Unity breaks build.
https://twitter.com/aaefiikmnnnr/status/931222777301835782?s=21&t=o3e4ZiIVwowtnd2yIQ6CZQ https://twitter.com/aaefiikmnnnr/status/931222777301835782?s...
- st3fan 5y agoIt is already very time consuming to stay up to date with Apples ecosystem. Swift evolves. Xcode changes. The runtime. The App Store. The APIs evolve. SwiftUI is radically different every year. Throw something like Unity in the mix and now you have even more things to keep up to date. You can say well that is just nonsense. My app is finished. But is it really? what if you actually need to do a critical bug fix. Or something to be compatible with new hardware? There is no simple answer here. But one thing I’ve learned is that staying as “standard” as possible is a huge huge advantage. Apples upward path is mostly manageable.
- arinlen 5y ago> Boss wants to change our iOS game icon. Changing icon requires a new build. A new build requires iPhone X support. iPhone X build target requires Xcode 9. Xcode 9 requires macOS 10.12. OS update breaks old Unity3D. Upgrading Unity breaks build. * The iPhone X was released on 2018. * Xcode 9.0 was released on 2017, and 9.4.1 (last release) on 2018. * macOS 10.12 was released on 2016. I'm sorry to say, but this sort of setup does not reflect well on anyone working on the project. Apple's call out should be considered a wakeup call. Also, doesn't Xcode 9 only support iOS releases up to iOS 11? The global market of all iOS versions lower than iOS 11 should lie in the lower single digits.
- michaelt 5y agoYou do realise the tweet you're replying to is from 2017?
- maccard 5y agoThe problem here is unity (which, by the way is one of the most popular game engines, and is often sold as the indie friendly, mobile friendly engine). Standard operating procedure for Unity games is pick the latest LTS engine version as the base for your project, and don't ever update, because the updates are _so_ much work it's untenable to keep up with them. (This was official advice given to us by a unity sales rep at one point in the last 2 years). These aren't like node updates, these are closer to Firefox removing legacy extensions, except happening quarterly. There's no guarantee that something that is "stable" in your version will work the same way in a newer version. Unfortunately, the engine is tied to specific iOS SDK versions, so in order to use a more recent iOS SDK you're forced to upgrade your unity version alongside it...
- howinteresting 5y agoThe idea that Unity (market cap $22 billion) should put in the work to stay compatible while Apple (market cap $2.64 trillion) should not is deplorable.
- maccard 5y agoI'm certainly not making the claim you accuse me of, however Apple's compatibility is substantially better than Unity's. Apple's reasoning for breaking backwards compatibility is often sound; reducing the attack surface of misused APIs. The alternative is what you have on Android right now, a bunch of applications that still ask for the sun and moon and stars for permissions because they can. Unity's path is more of a scorched earth policy in my experience.
- howinteresting 5y agoI don't see why API misuse is an issue for an indie game with no online component.
- tedunangst 5y agoThe longer you leave the yak unshaved, the longer it takes to shave it.
- emsy 5y agoMy windows is full of bald yaks.
- franknine 5y agoWorking on games with Unity for nearly a decade, the standard approach is to defer upgrading Unity as long as possible. Generally we stay on the old LTS (Long-term support) version until it’s no longer supported. Latest version and new LTS are very unstable with game crashing bugs on certain platforms that I had to spend weeks to track down and spend weeks to convince Unity QA there is actually a problem then wait for months to get it fixed. It’s better to just stay away from the latest and greatest, having other people do the demining.
- Wowfunhappy 5y agoGames aren't like other software. People are still playing Psychonauts even though it hasn't been updated in a decade. Double Fine doesn't have the resources to go in and update the game engine every year. (I'd argue there's more room for this in non-game software as well, but certainly for games...)
- markdown 5y ago> OS update breaks old Unity3D. I'm still on Mojave because I'd have to say bye bye to Adobe Fireworks if I upgraded.
- boondaburrah 5y agoI wonder for how many people Mojave is the last Mac OS they can use simply because Adobe stopped selling software for anything later (you can only rent), and other various 32-bit reasons. Adobe products are sadly required for industry work.
- KennyBlanken 5y agoYou've had a decade to find an alternative to Fireworks - a vector graphics program. It might be time to move on.
- andai 5y agoI still use EasyToon, originally published 1998. Then again, I'm on the only operating system that actually values backwards compatibility.
- Robotbeat 5y agoImagine if the tools in your shed turned to dust after 5 years. And these are analogue, physical objects. Digital objects if stored in a properly error-correcting medium, can last indefinitely. No excuse for this. Imagine a library of books where every book over 5 years old is burned.
- driverdan 5y agoThat's not a reasonable comparison. A more accurate one would be something like having a 25 year old 12V battery drill and expecting the manufacturer to still make and sell the NiCad battery pack it used. Sure they could do it but it doesn't make any sense. Technology has moved on and there's no consumer demand for it. I agree that Apple and other companies are too aggressive about breaking compatibility but it's not the same thing as tried and true physical objects.
- TeeWEE 5y agoIt's called code-rot.. Systems improve over time. Apple's privacy in iOS improved a lot. Not updating your apps makes it hard to keep up with API changes. Its normal you have todo some work to ensure it still works. Sometimes you're out of luck. But not all dependencies stay with us forever. Software is sadly enough not immutable, environment impacts how software runs... My old android game stopped working on newer devices 3 years ago due to a OpenGL bug that was fixed, i depended on the bug in order to make my app work. Welcome to the real world
- franknine 5y agoSometimes they just force you to implement feature for them, like “Sign in with Apple” > We’ve updated the App Store Review Guidelines to provide criteria for when apps are required to use Sign in with Apple. Starting today, new apps submitted to the App Store must follow these guidelines. Existing apps and app updates must follow them by April 2020. We’ve also provided new guidelines for using Sign in with Apple on the web and other platforms. > 4.8 Sign in with Apple Apps that use a third-party or social login service (such as Facebook Login, Google Sign-In, Sign in with Twitter, Sign In with LinkedIn, Login with Amazon, or WeChat Login) to set up or authenticate the user’s primary account with the app must also offer Sign in with Apple as an equivalent option.
- franknine 5y agoAnd implementing Sign in with Apple in Unity is one of the worst experience in my career that I dedicated a blog post talking about: - Native Sign in with Apple button not working in Unity - Official Sign in with Apple plugin provided by Unity also not working - Hooked up API with help from GitHub and created Sign in with Apple button by myself ended up getting `4.0 Design` rejection without explanation - Trying crazily to contact Apple reviewer for weeks only to find out you have to use system font on that button - Unity cannot support new Thai system font after iOS 13 and they mark it won’t fix - Ended up building a native sample app and screenshot Sign in with Apple button from it in 12 different languages into PNGs and ask the my designer co-worker to remove background for me to import them into Unity - After all these the update is finally accepted by App Store - Casually downloaded games by other companies a week later, saw a totally malformed Sign in with Apple button not being nitpicked by reviewer and just went live like that