I can somewhat relate to you, but in different aspect. I own iPhone and I'm thinking about some home automation. I can program iPhones, I tried to find out some way to put my code onto my phone without restrictions and I did not find any. I can use web app, but it's restricted and I might need some API that's not available for web. I can install my development build, but it'll expire in a few days and I don't want to reinstall it over and over again. That's an absurd situation when I'm as a programmer can't put my own program onto my own device.
I love iOS in almost every way except sideloading restriction.
If I missed some way to implement what I want, I'd love to hear how can I do that. I don't need much, but I need push notifications from server and I need push notifications when I'm close to some particular location (like open a door when I'm near it). I might need NFC push notification, I'm not sure.
I don't agree that Android suck, I have second phone for testing and while I love iOS more as it feels more polished, I probably will switch to Android in the future, just because I want to run my code on my device.
All those Apple apologists should go and take a look at the world; I live in Iran, and here Iranian apps just use a business profile to install. There are even alternative app stores using device management profiles. And these apologists keep bullshitting that the monopolist walled garden actually keeps people safe. The walls don’t keep out anyone powerful, they just enforce rents.
All the Apple haters keep missing the point for why Apple users prefer “walled gardens”: They are fucking beautiful respites from all the crap outside their walls.
Apple has refunded me without question whenever an app tried to scam me, no matter how big people popular it was, whereas apps using third-party payment systems almost never give any refunds.
Imagine actually using free and open-source apps from free and open source app stores&operating systems instead of buying an overpriced rehash of open source software.
That's surprising as Apple is supposed to revoke those kinds of certificates pretty quickly. Enterprise certificates are for use inside enterprises, not for outer users.
Iran is under embargo by the US. Consequently, Apple doesn't do business in Iran. If someone buys an Apple product in Iran they're getting smuggled hardware that has likely been jailbroken. It won't be connected to anything Apple or iCloud unless they're going through some kind of VPN. Certainly nobody is getting developer certs there and they can't do any payment processing so most regular apps are gonna be out of the question.
Please stop opining on what you have zero knowledge on. The Apple devices in Iran are never sold jailbroken (in fact, I have never seen a jailbroken Apple device in my life). They can usually connect to all the Apple services without a VPN. There are apps that use Iranian payment processors in the App Store itself (e.g., https://apps.apple.com/us/app/fidiketabi/id1464658470 is an app that sells ebooks and audiobooks, its real name being Fidibo), and others have apps as direct installs that need the user to accept their profile, or use one of those Iranian app stores. There was a brief period after the Facebook VPN scandal that Apple did make a show of blocking these Iranian certificates, which caused a surge in web apps (which I liked a lot), but that didn’t last long. What is super clear is that Apple gives not a single fuck about privacy, security, US laws, or anything except PR. They do exactly what generates the most money for them, and have no principles. Every single big stunt they have done costed them nothing and further consolidated their monopolies. It is always others who shoulder the costs, never Apple.
If your app is using any payment processor that's not Apple within the App Store that app is not in compliance with Apple's own App Store policies. Epic Games would be very interested to learn this is happening. If you're using self-signed certificates or an "Iranian App Store" to install things you are also operating outside the bounds of App Store policy.
You're using Apple services in a region that is not officially supported by Apple. I don't understand how you think security and privacy protections are going to be in place when using smuggled hardware that's intentionally compromised and taking active measures to circumvent what protections Apple has, either by jailbreaking or rerouting requests to Apple to some other mirror.
You’re full of assumptions. Nobody is tampering with the hardware, nobody is routing Apple IPs to fake mirrors, nobody is using “self-signed” certs. People use stock iPhones, without a VPN (not that enabling a normal VPN is at all relevant here, but still), to enable profiles signed by Apple, to run Iranian software. All these can happen in the US as well, except Iranian app websites usually check the IP and sometimes the phone number before they give you links to install the app.
That Fidibo app is obviously not “compliance with App Store policy.” Said policy has never been followed consistently. Feel free to email Epic if you think this changes anything. My magic ball says the best result you can expect is that Apple says, “Oops, they lied, and we didn’t notice.”
Your article is also just an article. App Store is usually fine in Iran, but sometimes there are connection problems. This is not even always a ban from Apple, the Islamic Republic is all too happy to ban foreign services.
Instead of giving me all these made-up stories, give me a list of all the major sacrifices Apple has made for user security. I can’t think of a single one. The nearest thing to a sacrifice they have done is supposedly not selling your data to 3rd parties (except China and friends), but this isn’t that lucrative for them and the PR it generates translates directly into profits. Most privacy choices aren’t this PR-able.
I both hate and love both of Android and iOS. Currently I'm on iOS has the hardware is nicer but damn if the UX isn't confusing and downright dangerous sometimes (looking at you CarPlay).
I also looked into getting some of my own programs into my iPhone but rather than getting stuck on not being able to keep it there for a long time, I got stuck on how to even get the program into the phone. Turns out you need Apple hardware to push the code, so I'm stuck before even being able to try it.
To your point, Apple Developer does not require the $100/year Apple Developer Program fee to load software on your iPhone, but does by default require a weekly cert refresh.
However, the $100 is less a permission slip, and more buys you access to Apple services infrastructure that is largely worth the money so you don’t have to do it yourself and so your users can trust a single brand experience.
(For example, notifications before Apple’s notification service were insane, the app “Growl” made a lot of money just trying to tame the dozens of different ways confounded users’ expectations with notifications. Similarly, updating apps was crazy-making for users, then there was Sparkle, now you get the app hosting and distribution included in the $8/month.)
Just these few services are well worth $8 a month if you compare what you get to any other SaaS we’re buying all the time from HackerNews startups:
- App discovery, hosting, distribution, updates
- CloudKit, iCloud Documents, iCloud K/V Store
- Push Notifications
- Sign-in with Apple
- etc. (NFC is also in the list)
See this link for detailed differences between free Apple Developer and paid Apple Developer Program (also compares Enterprise distribution):
Since you specifically mention push notifications which of course require an infrastructure to run reliably for you 24/7, there’s a good value for the $8/month. The systems behind making these “just work” for users are complex and expensive.
It’s frustrating to have to pay, but I think you can shell out something like a 100 bucks to get an Apple developer account and it allows you to install your own code on your own phone. I hope it’s a 100 bucks forever and not once per year…
But I also need a mac for signing, don't I? Like, a Mac Mini? That's the most annoying part, tbh. I feel fine-ish for paying 8 $ a month for my dev account (if you calculate it that way), but buying additional, expensive hardware? No, not really.
Long story short, you pay $100/year or $8.33/month for access to a suite of services that make apps frictionless for your users, and easier for you as a developer to offer high end features like authentication, notifications, and sync:
- App discovery, hosting, distribution, updates
- CloudKit, iCloud Documents, iCloud K/V Store
- Push Notifications
- Sign-in with Apple
- etc. (NFC is also in the list)
You do not have to pay anything if you do not want any of those services, however you will have to “refresh” your test app cert weekly or work around that.
I can pay, but, as I said, my apps will expire in a few days, so I would need to rebuild and reinstall them every day to keep them working. The only way to have non-expiring apps is to submit them to AppStore which is obviously not possible, as it's only for me.
You can use AltStore to easily sideload apps to your iPhone without a developer account[0]. You only need to be on the same WiFi network as your computer once every 7 days to "refresh" the sideloaded app.
I love iOS in almost every way except sideloading restriction.
If I missed some way to implement what I want, I'd love to hear how can I do that. I don't need much, but I need push notifications from server and I need push notifications when I'm close to some particular location (like open a door when I'm near it). I might need NFC push notification, I'm not sure.
I don't agree that Android suck, I have second phone for testing and while I love iOS more as it feels more polished, I probably will switch to Android in the future, just because I want to run my code on my device.