Digital distribution and lock-in are a disaster for historical preservation.
Agreed. This reality slapped me in the face quite hard after I was given an ipad 2 (circa 2011). I figured I'd use it as a couch-side device for spotify. Soon realized nothing worked on it, even with old version apps loaded. Server side shut it down.
So, if the connection is being shut down on the server side, it's likely because of the TLS version mismatch. I thought it would be a simple solution just via updated software but was told (by peeps on Reddit, so it's likely to be total nonsense) that, although it can be updated, it won't run reliably on older hardware unless that hardware can also support newer OSs. Win7 and below (?) don't support it and MS won't provide updates with it and MacOS versions before Lion don't have it. I've heard you can also update OpenSSL by breaking the symlinks to the OS's install and get it working again but that's more hassle than I cared to put in.
Also, most of those old iPads are able to be jailbroken. You can update OpenSSL on them and probably get Spotify working again.
Older TLS protocols have vulnerabilities yes, but most of them require a very motivated attacker with the ability to do a MITM.
I wrote a blog post about why I have decided to support older protocols, https://blog.nyman.re/2021/02/07/usability-security.html , the tl.dr. is that only allowing new TLS just means more forced obsoletion. For Banks and other sensitive things, yes it makes sense, for your personal blog, not so much.
I mean... Google still allows TLS 1.0 , if it was a "huge security risk", do you think they would?
The updating OpenSSL/breaking symlinks sounds interesting, do you have more info?
Personally I have a old iPhone 5S running iOS6 which I use for listening to podcasts. I ran in the the TLS issue there and my solution was to use a proxy https://bitbucket.org/ValdikSS/oldssl-proxy
Works well, and until maybe a year ago or I could even browse Apple's Podcast Store, but at some point that stopped working so now I'm stuck with the ones I have there.
(Cydia still works though... Thanks Saurik)
I worked on a game called Minecraft Earth and it was a service-oriented game where you could collect things and play Minecraft in AR (fun project, not very fun game lol). It shut down a few years ago and we didn't get a chance to add an offline-only mode for even simple AR building, so now no one will ever be able to go back and play that game. It makes me really sad to see a whole product, a whole codebase just go poof.
https://github.com/Project-Earth-Team
ASA (which I worked on for Minecraft Earth) is also end of life in the next year, not sure how that will impact this.
You didn't hold onto a copy?
In my head, when I saw this post, I instantly thought "Time to Apple legal action.... 3, 2, 1...". But maybe I'm wrong or things have changed.
Some emulators solve this by providing their own (re)implementation, but that’s not always easy.
And even when it’s “just” iOS: That is copyrighted too! So it’s the same problem – either there needs to be an iOS ABI-compatible OS, or it’s probably not possible to emulate any application legally, unfortunately.
There is a reason that Corellium can charge so much for SASS access to recent-model emulated iPhones.
1) Spend $100 a year for the privilege of being allowed to access their app store
2) Buy several $1000 iPhones (you'll be expected to test on every model they currently support by app store reviewers)
3) Buy one $2000 macbook per developer that needs to work on the iOS app (build tooling only runs on macos)
4) Good luck if you want to integrate this with your CI! Either another mac mini ($1000) or a subscription to some service that does it for you. Forget about using your linux boxes that you use for everything else. Apple says no!
5) Everyone who needs to log in to the apple developer portal also needs an iDevice. Apple is so secure they only support their own proprietary second factor push messages to iDevices!
You can see why they don't allow emulators or virtual machines. Think of the sweet, sweet $$$ they'd be losing out on!
For development these days you can find a used/refurb M1 Air or mini that will do the job just fine for less than half the stated price.
As for 2FA they support FIDO keys and passkeys just fine.
You can load images that represent Android devices in the Android Simulator and reproduce bugs that exist on the device.
I work with both and the Android simulation allows you to go further - which is good since the diversity of devices is bigger.
Both still sucks in the end and you should test on a real device. This is particularly painful because usually the devices you don't use frequently you simply don't charge, so you kinda want to prepare to charge the devices before. You can still plug and run the app while charging but it may give a throttled experience - which when profiling games may slight alter the results (a flashdrive read bottleneck may disappear when comparing to CPU one).
Guess you've been lucky. Congrats!
> For development these days you can find a used/refurb M1 Air or mini that will do the job just fine for less than half the stated price.
Okay? So you still need to buy an extra general purpose computer just to be able to build for a phone? And this is somehow okay because you can "just" buy a refurbished one?
> As for 2FA they support FIDO keys and passkeys just fine.
Nope. Unless this is a very recent change which they haven't even documented yet. https://developer.apple.com/support/authentication/
Don’t they support SMS 2FA as well? They do for my dev Apple ID that’s not logged in on any other device at least, and I see the option as a fallback on my personal ID too.
I agree with your other points. The lock-in, especially for CI, is terrible.
I know your main point is comparing to consoles and that is probably fair to some extent, but still, I wanted to mention these.
Doesn't it require $100 a year to compile an app and install it on your own phone (because even hobby apps require signing)? I can't fathom why so-called "hackers" put up with this. I suspect because $
People have even made it (generally) easy to re-sign IPAs; see tooling like https://sideloadly.io/.
> 1) Spend $100 a year for the privilege of being allowed to access their app store
Comparable to all curated store fronts.
> 2) Buy several $1000 iPhones (you'll be expected to test on every model they currently support by app store reviewers)
Not different than supporting any commodity device. You should have target devices for every variation you intentionally support.
> 3) Buy one $2000 macbook per developer that needs to work on the iOS app (build tooling only runs on macos)
That's not true, both the macbook line but also in general. I have worked in places that use VM's on MacMinis for iOS development, but there's also AppCode from Jetbrains.
> 4) Good luck if you want to integrate this with your CI! Either another mac mini ($1000) or a subscription to some service that does it for you. Forget about using your linux boxes that you use for everything else. Apple says no!
Mac Mini for CI, yes, if you're doing it as above then it's an additional VM on your MacMini.
> 5) Everyone who needs to log in to the apple developer portal also needs an iDevice. Apple is so secure they only support their own proprietary second factor push messages to iDevices!
That's not true, I use Linux to log in to my developer portal with the root account.
> You can see why they don't allow emulators or virtual machines.
They allow VMs and Emulators, they just require that it's official hardware.
If you are categorically opposed to owning any apple devices then I can see why you would feel a certain way.
To put it in perspective: I genuinely despise Windows, yet I need to spend a lot of money because making Windows software on any other platform is practically impossible, and "running a VM" isn't going to help because you must still license that VM.
The major differentiator here of course is that the license cost for the OS is part of the hardware cost in the Apple ecosystem and not separated out.
But ultimately every company that has a platform for software development is going to charge you:
A) Access to that platform
B) For the tools required to build on that platform in addition.
I recommend everyone votes with their wallet. (and they do, just in favour of the App Store, because it is significantly more lucrative to lean in and buy a pile of mac minis and a developer license agreement than to lose sales by not being apart of it.)
You could look at this as Win/Win or Lose/Lose depending, almost entirely, on your willingness to let Apple also profit from your work. (again: likening it to my experience with Windows).
Both the Microsoft Store and the Play Store require a single payment of ~25$. Publishing on the Amazon AppStore is free. I couldn't find any price information for Huawei AppGallery.
Apple is the only store that requires a recurring payment, and it's the single most expensive one.
is being discontinued, and won’t receive further updates.
This is why the web won, IMO.
Nonsense. Android is a one time fee of $25.
> Not different than supporting any commodity device. You should have target devices for every variation you intentionally support.
Android has convenient cross platform emulators. Apple insists you give them tons of money every time they release a new iDevice :-)
There is absolutely no reason to buy a physical device just to make sure your app renders correctly at some new resolution.
> That's not true, both the macbook line but also in general. I have worked in places that use VM's on MacMinis for iOS development
Please show me how to legally run MacOS in a VM on Linux while abiding by Apple's Terms of Service?
I'm currently (unfortunately) running CI on a Mac Mini and it is the most fickle system I have ever used. Needs manual intervention pretty much every month.
> but there's also AppCode from Jetbrains.
How do I use this to build an ipa file and upload it to Apple, without running on an iDevice?
> Mac Mini for CI, yes, if you're doing it as above then it's an additional VM on your MacMini.
How to run on linux like literally everything else does?
> That's not true, I use Linux to log in to my developer portal with the root account.
That means you have an iPhone for receiving the 2FA push message. Good luck logging in without any iDevices.
> They allow VMs and Emulators, they just require that it's official hardware.
Completely useless.
> If you are categorically opposed to owning any apple devices then I can see why you would feel a certain way.
I'm opposed to being gouged by a bigcorp, while I'm providing value for them. Android manages just fine, all you need is a Windows/MacOS/Linux laptop with the emulator. Completely free until you want to publish, at which point it's a one time fee of $25 instead of a yearly fee of $100.
I'm also opposed to needing a mac computer just to be allowed to publish for ios
You also won't constantly get screwed over by "reviewers" who spend 2 minutes looking at your app before complaining about something their collegue said was ok previously.
Need to push a critical bugfix? Not allowed unless you also fix these random unrelated "issues" that were fine the past 3 years!
> yet I need to spend a lot of money because making Windows software on any other platform is practically impossible
Cross compilation for windows is easier than it has ever been. It's not even possible for iDevices.
> isn't going to help because you must still license that VM.
Wrong again. Just use the free developer VMs: https://developer.microsoft.com/en-us/windows/downloads/virt...
> But ultimately every company that has a platform for software development is going to charge you:
Apple is the only one gouging me left and right. The others are far, far more reasonable.
[1] xkcd.com/378
Likely because Apple themselves provide an emulator that accommodates most developers’ needs.
Must be all that lockdown they do. Which is a damn shame, as some early iOS games and whatnot were actually really cool and no longer exist in a runnable form except on those devices (and that is assuming you already had them installed!)
Well, what would you use one for? Apple provides emulators for current iOS versions and the centralised App Store means versions of iOS apps for old OS versions aren’t readily available the way they are for Windows etc. Beyond maybe testing old versions of Safari it’s more of a historical curiosity than something with real use.
It’s kind of weird, given the number of user hours spent on, say, iOS 6 era Instagram, that we have no way of replicating the experience today.