It has become somewhat unfriendly, but I really appreciate that you can still do whatever you want.
To run self-signed apps, run `sudo spctl --master-disable`
To turn off System Integrity Protection, run `csrutil --disable` from recovery mode.
To modify the root filesystem, do all of the above and run `csrutil authenticated-root disable` from recovery mode.
To disable library validation, do all of the above and run `sudo defaults write /Library/Preferences/com.apple.security.libraryvalidation.plist DisableLibraryValidation -bool true`
To disable AMFI, do all of the above and add the boot argument amfi_get_out_of_my_way=0x1
(Some steps may be a bit different on Apple Silicon Macs, I don't own any so I'm not as familiar.)
---
You now have the same privileges Apple does. You can grant yourself whatever entitlements you like, inject your own code into any process, load your own kernel extensions, or just replace the whole kernel with your custom build of XNU.
I actually think a decent chunk of macOS's perceived "unfriendliness" comes from Mac users being less willing to hack around than users of other OSs. The common refrain in Mac circles seems to be that System Integrity Protection should never be switched off under any circumstances. I agree, if you're a normal user—but if you're not, and the handcuffs are annoying you, just unlock them already. (But do leave everything else in place until such a time as it presents a roadblock.)
Also, method swizzling in Objective-C is fun, try it!
I’m so tired of seeing folks parroting no sideloading on iOS. That’s not been true for a long time. Yes, the conditions of side loading (needs a free developer account, must have app signing refreshed weekly, etc) might not be palatable for your taste (which I’d generally agree), but to say it’s not possible to sideload apps on a stock iOS device is just wrong.
The semi-exception is Altstore, which is a fantastic project... but it's a major hack which sometimes breaks, and which Apple is liable to kill at any time. You also need to keep a server running on a PC or Mac on your wifi network, which isn't workable in a lot of situations.
I mean, my iPhone can run unsandboxed sideloaded apps, because it's jailbroken. But I wouldn't say that Apple allows third-party unsandboxed apps.
> install apps that were not approved by the OS vendor and/or delivered via said company’s app store
iOS meets every letter of that.
The weekly resigning limitation is explicitly not about blocking code you wrote for your device, but about blocking piracy. That same feature that allows you to sideload an app you wrote, also allows you to take many paid apps and resign it for your device allowing you to skirt payment. I wish Apple would relax the signing for code that could be provably unique, but I’m sure there’s ways that would be exploited still and it would turn into a constant cat and mouse battle which Apple is choosing to not engage in. Does that suck, yes. Does it mean you can’t side load, no.
Long story short, I would not object to anyone who says iOS sideloading was useless without paying (even though that would be wrong in some folks’ eyes), but trying to claim it doesn’t exist when in reality it just doesn’t meet your (or my) needs feels important enough to say to lose karma over if necessary.
Yes, in the same way that tomatoes meet the definition of a fruit. (And before you say "but tomatoes are a fruit"—exactly.†)
I respect your desire to be precise, but the problem is that it makes conversations super difficult. Detailing Apple's convoluted policies every time the topic comes up is tiresome and needlessly derails the conversation.
† See also: https://www.youtube.com/watch?v=XmxIK9p0SNM
Respectfully, this isn’t about being precise, it’s about being factually correct. I feel your tomato example is off the mark. A more fair (albeit not precise) analogy would be someone saying “there is no sun in the sky” and someone correcting them by saying “yes there is, it’s just behind that cloud” and then the person arguing back that “only suns that aren’t behind clouds count”.
Were I to switch to an iPhone, I would have to either list my calculator on the app store (and pay the yearly developer fee) or have to remember every single week to "refresh" my app, otherwise it won't work the next time I need it.
Android has side loading. iOS has the bare minimum concession to allow developers to build something at all, and even that has unnecessary friction built in explicitly so that people don't try to use it to sideload.
> have to remember every single week to "refresh" my app, otherwise it won't work the next time I need it
Did I not fully state that up front? Just because it doesn’t work for your needs (or mine for that matter) doesn’t change that my point is 100% correct, to say that sideloading isn’t possible on iOS is fundamentally wrong. Fake imaginary points (aka HN votes) be damned, I’m not going to cave to the Android fanboys. Apple/iOS has many faults, so I don’t get why folks need to focus on something that isn’t factually correct.
On to the question of side loading: technically, Apple does provide a way to load code not from the app store. Some might call that side loading. However, when most people say that they want to be able to side load apps on their phone, they expect that their apps will function as first-class citizens. Apple's version of side loading is more like a very temporary work visa than a grant of citizenship, which makes it structurally different than what is being asked for.
Just to be clear, wasn’t calling you that specifically. That was expressing a frustration against the general type who responds whenever I jump in to share info on what exists and doesn’t in reality.
In your case, I made exactly your point up front and even stated it didn’t meet my needs personally. AltStore does a decentish job of smoothing along the process, but it’s still too much burden for me. But I feel I am very correct in saying it meets the technical definition of side-loading and even the “common knowledge” definition as long as you acknowledge the caveats, which I do.
So what do I do? Well, as much as I’ve spent on phones, laptops, tablets, cell service, internet service, etc I find adding another $99/year on top is just noise. I’m fortunate enough that my career allows me that option, otherwise I don’t know what I’d do as Android has dealbreaker faults for me (I do own a few Android phones, but none would remotely be my daily driver).