https://developer.apple.com/app-store/review/guidelines/#dat...
(iv) Access [...] Where possible, provide alternative solutions for users who don’t grant consent. For example, if a user declines to share Location, offer the ability to manually enter an address.
(v) Account Sign-In: If your app doesn’t include significant account-based features, let people use it without a login [...]There is some big qualification missing or I don't understand what does that even mean. How could a banking app run without an account? An online game? The Twitter app nowadays? Dropbox/Nextcloud/...? Etc.
Yeah, I agree that for a lot of apps, requiring a account is just a marketing gimmick, but I don't think such a general rule could work.
Their response, not the exact wording since it was over a decade ago, was along the lines of: "1. We're reviewing your app, not theirs, so what they can do is irrelevant. 2. Your app core use case clearly functions without an account as evidenced by the previous versions having full functionality not requiring an account."
1. Is a standard Apple reply when you compare your app's treatment to others'. Everyone gets this when they bring another developer's app into the argument.
2. Called our bluff and is pretty hard to argue against unless we changed something core to our backend such that it now requires an account. Even if that was the case, I would expect Apple's response to be "change it back".
Throughout the whole exchange with Apple, I had to be Devil's Advocate, since I advised against the change to require an account from the start, being apparently the only person in the company who had actually read the AppStore guidelines. Nobody listened to me, of course.
rules for thee but not for me
Apple has never been fair with its review, sadly.
> I would expect Apple's response to be "change it back".
Companies should not have to bend over to apple's whims just to get their software in end user hands. Hopefully upcoming EU regulation will reign apple's overreach in a bit.
So yes, I will be extremely happy with it. This opens doors to all kinds of software that can compete with one another, and if I don't like it, I can simply uninstall it myself.
Our app was rejected after review until we updated an external support doc to which the app linked. The doc contained system requirements for both iOS and Android devices, and we were specifically rejected for even having mentioned the competing operating system.
> The doc contained system requirements for both iOS and Android devices, and we were specifically rejected for even having mentioned the competing operating system.
same, for us we just open all links in safari now, so if mentions of android show up its not "in the app"... an arguably worsened user experience for no good reason except to keep apple happySo in the end everyone loses, except Apple.
Sure, they keep some actually bad opinions out, but they also keep correct but unpopular opinions out.
The Sun revolves around the Earth! Downvote Galileo!
My phone is not a fashion piece. AFAICT the blue bubbles will show up with an old 4S just as well as with a 14 Pro Max.
I have an iPhone - which I got after many years with Android - because iMessage is an essential app for me. I live in the US, so my business partners do not have [choice of alternative messaging app] installed and they are not going to install it just for me. I'm a doctor working in a hospital that has two complete dead spots for cell reception, and whose IT department blocks WiFi calling. So I can't make phone calls on either service, and only on iOS can I get messages that are really, really important over the hospital WiFi.
I could talk until I was blue in the face about how other methods are better. Or how Apple is being a gigantic bunch of assholes by not using something other than vanilla SMS if you're not an iMessage user. But it's sitting at about 30:1, and you can either go along and be aware of important things going on, or you can be left out.
When business decisions are being made over those conversations, I'd be a fool to ignore it. I don't much like the iOS way, having gotten used to Android and LineageOS, but after my experience with the Nexus 6P that suffered the infamous "battery goes to shit overnight one day" problem that Google wouldn't fix, as well as being dropped from updates after two years, five years of security updates from model introduction sounded pretty nice.
What alternative would you suggest? And is that alternative as universal as SMS?
But on Android, you can replace the default messaging app, and that app can have access to SMS as a fallback, so it's really easy to convince people to switch. "Hey, uh, plain messaging is annoying some of us, please install this app, we can all use it, but it will work even with people who don't have it over the regular text service."
Can't do that on iOS.
It's still getting rolled out a lot of places. Google sees it as the successor to SMS and it's built into native messaging apps. I recently saw cross-carrier support get enabled locally and that made it universal enough that so far anyone I message that's running Android is already connected via RCS.
Apple intentionally doesn't support RCS in order to keep imessages from interoperating with android.
> You don't need Apple to make that decision for you.
I also don't need an app making the decision of whether I need an account. Apple preserves that choice for users. And they're not making any decisions for the user about installing. Effectively zero apps will leave the store over this rule, so the user retains full choice over installing.
I don't want Apple making many system-wide rules on behavior, even on Apple's own systems (which they share with their users.)
That being said, they're very right about this. Making the distinction between, on one side, apps that are useless without accounts (like banking apps) or apps that are made to help with already existing accounts, and on the other side apps that are just forcing accounts to capture and control the users, is a smart and thoughtful move.
You know, this is how almost every rule system on the planet operates. Ultimately there’s an arbiter whose job is to look at the totality of the case.
This isn't what's happening though. If you're a big app you get to do whatever you want, and if you're small then you have to do as you're told.
As opposed to… humans working through a specific situation for a specific solution?
There's also the ethical concern about how apple (or their reviewer) can bully you specifically which means there is no other way to delivery our software to your users, other than complying with a bully.
Sure, the world is rife with ethical concerns.
"not for me" isn't what's happening in a comparison between two third party apps.
> Companies should not have to bend over to apple's whims just to get their software in end user hands. Hopefully upcoming EU regulation will reign apple's overreach in a bit.
Maybe in general, but I think a rule against requiring unnecessary accounts is a good rule. The EU should consider making that a regulation.
Being the voice of "this is never, ever going to be accepted into the AppStore, it is a perfect example of what you can't do" can be a very lonely journey.
For context that would mean that to browse a site like Hacker News, you couldn't require an account, but to post you could. It covers things like Banks or Steam, etc.
Would that be workable?
Guitar tuners, flashlights, QR scanners, etc. Open source hobby-sized projects which are done when they're done.
If you're going to rip people off with "software as a service" then you need to require an account.
I use two banking apps that have a FAQ feature that's just a fancy wrapper for their respective online knowledge bases.
It's only due to laziness on their part that the entire app needs a login, even if the only thing I'd like to do is browse the knowledge base.
Similarly, you shouldn't need to be logged in to queue up an arbitrary number of transactions, to execute them sure, but every banking app I've tried makes you login from the outset for no discernable reason.
You need an account for WoW, but not Unreal Tournament, to use 90's examples.
Or else? You're suggesting an organizational solution to a technical problem. This can't possibly work. Fake data is the only practical solution to this, such that the app would see the permission as granted when it is not actually granted.
And sure, what's "necessary" for the app is nebulous, but the law has tests for differentiating between two nebulous states. Even a policy that had way too much grey area, like fair use, would still protect users more than "app developers can do whatever they want as long as it's in the privacy policy."
So no, this is not a viable solution in the long run. Besides, Android is a thing. I personally have never used an iPhone as my real phone precisely because of this — I can't install modded apps, I can't install pirated apps, etc etc. It's not okay to have to jailbreak the thing to make it usable.
I guess we'll have to tell millions of users that their iPhones are all unusable, then. Imagine the shock!
Besides, being able to install modified apps is an important leverage against companies that don't act in their users' best interest. This way you can still use their services, but do so on your own terms.
1. They don't think about these kinds of second-order effects. They see that this company is somehow involved with the government and that's it. Their electorate won't care about these kinds of details because they're "doing something" to supposedly stop the war sooner.
2. They think that Russians would somehow revolt against the government. This doesn't work — the Russian government lacks any meaningful feedback mechanisms. By protesting, you'd expose yourself to immense personal risks for no discernible effect. Unless you're a heavily armed private army heading straight for Moscow.
Whether the effect is "good" depends on whether you think someone's device should serve its user or some government.
By me I mean all those people who chose Apple for what it is and ignore Android for what it is, with regards to what we’re talking about.
You have no real problem, only intrusive ideology. Please relax and leave us alone. We’ll speak for ourselves when we feel wronged.
If you want your device to be controlled by Apple, keep installing apps exclusively from the app store when the sideloading inevitably comes. Just like you can already choose to do on macOS.
I don't think "app store competition" is going to be much of a factor for iOS post-DMA, but I do expect hobbyists and open source developers to congregate around AltStore or something and create a repository of free utility apps without having to pay Apple's developer fees.
that is correct. If android users were more willing to use alternate stores, Google would have less control.
That said, I do enjoy being able to sideload apps with no hassle. Google may not allow 18+ apps or some emulators but I can find those no problem.
Office apps (iWork)? There is Office 365, GSuite
Storage providers (iCloud)? All third party storage providers show up next to iCloud when you use the file dialog box - DropBox, Box, Google Drive, One Drive
Streaming apps (AppleTV)? There are dozens and when you search for a TV show or movie, the AppleTV app will tell you which subscribe services have it?
Streaming music (Apple Music)? Spotify, Tidal and Pandora are all on the App Store?
Etc…
> do have a very real problem. I don't want Apple to impose their agenda on me and act like they own the relationship between me and my users
Guess what? I as an end user don’t want to have a “relationship” with you. When I pay for an app, I don’t want to give every Tom, Dick and Harry my credit card information. When I get ready to cancel my subscription, I don’t want to have to deal with you.
Netflix's "you can't sign up through the app" is a prime example of this that immediately comes to mind but there are many more.
An argument can be made that hey.com is, in a way, competitor to the paid iCloud subscription. Yet Apple acts as if they own that relationship and that the app store was valuable in bringing the users to the app: https://www.hey.com/apple/iap/
Do you really think it's fair that all competing services have to be 30% more expensive than Apple's own ones if they play by Apple's rules?
There used to be lots of iOS apps that allowed streaming pirated music. Everyone, including Apple, was seemingly fine with that and never asked where the music came from. But then, suddenly, when Apple Music was preparing to launch, all those apps started magically getting rejected for breaking the rule on "illegal file sharing".
> When I pay for an app,
Stop right here. No one was talking about paid apps. My initial point was about free apps. But if you so insist, in a FREE market, app developers would offer two options: pay through Apple with their 30% tax, or pay directly without it. I'll let you figure out which option most people would choose.
In reality they will make scummest apps possible and ignore the AppStore completely. Only very big players and those whose primary target is AppStore anyway will offer two options.
He said the app was “rejected” as in not allowed in the store.
> Do you really think it's fair that all competing services have to be 30% more expensive than Apple's own ones if they play by Apple's rules?
Well seeing that neither Netflix, Hey or Spotify allow in app purchases and don’t pay Apple 30%…
> There used to be lots of iOS apps that allowed streaming pirated music. Everyone, including Apple, was seemingly fine with that and never asked where the music came from
When has Apple ever allowed apps that focused on pirated music?
And Apple has been selling music on the iPhone since the day it was introduced - well to be pedantic, three months after it went in sale.
> But if you so insist, in a FREE market, app developers would offer two options: pay through Apple with their 30% tax, or pay directly without it.
And there is nothing stopping you from doing that. In fact, Spotify did that for awhile.
We choose it because it repels this “me wanna you should they need to” attitude. Please make apps that obey the rules or ignore the platform. Don’t tell anyone what they have to do for you without a contract.
That will be solved if/when they need to allow alternate App stores. But even then, The App store is Apple's own store, right? They make their own rules on what's allowed or no on their store.
I have no issues with them controlling their store (as an android user, Google does the same despite having much less care). I'm just glad they are seemingly being forced to open up for stores that want different rules.
It should be enforced as a rental.
Either I own my property and control my property, or it's not my property. If not mine, whose is it? All we need to look is who controls it then.
This is all first-sale doctrine stuff. And I don't believe any new laws need be made to enforce this.
"but sure you have photos on your phone, if your phone tells me there aren't any then it's lying"
Yeah, fake data. I remember there was an Android Xposed(?) mod that did that, was quite funny to see heaps of fake names in contact list
Meanwhile, WhatsApp still "punishes" users for denying contacts access by hiding everyone's names (only the phone numbers are shown), including for contacts that have their own names set in their own profiles.
Facebook^W Meta is scum.
At least for me on Android, which is wild.
https://play.google.com/store/apps/details?id=com.trianguloy...
Usernames are not given much weight in the UI--there's no guarantee that my username reflects who I really am. Feels rightly more suspicious IMO to see a message from an unknown number than from "~Elon Musk".
I believe this happens regardless of whether the app has contact permissions or not.
I wish there were some kind of "modern tech" technical review panel on board in, say, EU and US regulatory institutions. Not to impose or forbid certain changes, but to curate an evilness score. Publicly.
And then if a monopolistic company consistently enshittifies things, when the time comes to apply a penalty (for some anti-competitive legal reason), the regulators will apply the reputation ("evilness") score as a multiplier (or divider, if you will) on the sum of the fine.
Evilness can't be measured and expressed fully objectively. So citizens should be able to override a reputation score mutation (remember, they're public) through a referendum.
An advantage of this approach would be that it could increase citizen awareness that things don't have to be this shitty. I'm occasionally amazed by how friends and colleagues put up with being pushed around by their OSes, their apps, their phones, sometimes to the point that cognitive dissonance makes them into apostate apologists.
Nope. With contacts permission granted, unknown numbers turn into ~names (per user's own profile) automatically. When you revoke the permission, the ~name is hidden to punish you.
> [...] there's no guarantee that my username reflects who I really am. Feels rightly more suspicious IMO to see a message from an unknown number than from "~Elon Musk".
It's an entirely separate problem, and as old as mail itself (which predates computers by many millenia). Would you know whether to trust [email protected], without looking it up?
I would hate to dismiss someone for a troll only to realize they are not the real elon musk
Huh, had no idea that's why I only see numbers.
If I do allow contacts, does it show the name from contacts, rather than whatever display name they chose?
If so then I guess that's kind of a "technically we need contacts to display names, which are resolved locally" deal. But Apple could push back "you're big enough to plumb a display name through, not just resolve locally, and deal with spam implications" if they wanted to take a hard stand.
Would this include… not doing anything? A notice that to use the app that you must grant access?
I hate apps that do that … BUT:
I am thinking of a logistics application that I wrote that requires location access. It effectively serves no purpose without location access.
It’s a small app that we offer to our clients. Not an app for the general public. But it is a situation where I don’t want the app to continue doing anything without location access.
If location access is peripheral to the core function of the app, it's a different story. Like your Yelp and one of many functions of your app is to "search nearby" then you can't just have a screen that does nothing until the user consents.
EDIT: Yes, for OP's use case, you'd just appeal to Apple and prove that the app has no other purpose besides the use case that requires location. I've done this in the past successfully.
> I am thinking of a logistics application that I wrote that requires location access. It effectively serves no purpose without location access.
The logistics app could offer some features like phone numbers, support hours, or even account management features without location access, so users can still get access to those things even if they can’t enable location (or are in Airplane Mode, for instance).
And then the core part of the app could have a message explaining why location access is essential. Perhaps with a link to a privacy policy or other document to explain how it will be used and handled safely. I love apps that do that and even have a button I can tap to go straight to the proper settings screen to grant access (or in some cases I can tap and the app will request again, so I can say yes this time).
Nobody wants to call in their location, nor do our clients want to setup some process for that.
I believe there’s a special publishing mode for yours, but not sure how it works irl.
Which is consistent with what would happen anyways with the above idea of providing fake data when the permission is rejected.
As an app developer I don’t want users to send me location metadata with their photos, but there’s no easy way to communicate this to non-technical users.
If you want Google Photos to back up your photo library… it needs full access to everything to do that.
Very very few apps should need full photo access. But photo backups/cloud libraries are the one I can think of that do.
I was actually surprised no one on ATP brought that up.
> view photos already saved in the cloud
When you open it, it defaults to the "Photos" tab which has a message (not a dialog) asking for all photos access. But if you switch to any other tab (like Search or Library) you've got access to all of your photos in the cloud.
On the one hand you wouldn't realize that if you never tried tapping another tab. But on the other hand, the main "Photos" tab is designed to access all of your local photos and show whether or not they're backed up. Most (although not all) people are probably using Google Photos for this (to save local photos to the cloud), so it at least makes some sense for it to be the main tab with a prominent request.
Yes you're correct that there's no way to give access to only selected local photos, but that permission also doesn't really make sense for the app. Its main purpose is to back up all of your photos automatically.
If you want to upload individual photos just do it directly from photos.google.com. It's a single click. There's no reason to install the app at all.
However they still don’t offer a way to upload specific photos, and if you attempt to share only selected photos in the ios settings app they detect that this isn’t all photos.
Here's a screenshot [1] showing how the permissions prompt originally blocked you from navigating to the other tabs, and some additional reports of the issue [2] [3]. What's worse is that very old versions of the app worked fine in view-only mode without these invasive permissions demands, but then Google decided to update the app to be completely useless unless you surrendered all your photos.
I'm surprised Apple allowed the app on their store for over a year, with what appeared to be a clear violation of their policies.
[1] https://imgur.com/a/l2sErQQ
[2] https://support.google.com/photos/thread/1939628/use-ios-goo...
[3] https://old.reddit.com/r/googlephotos/comments/rhoyb1/google...
That lies in gesture of app developer and that will not happen for the apps you'd want to use that feature (or the fake data feature) with.
On Apple they compromised by requiring that apps with a login support "Sign In with Apple." Since you can signup with an anonymous iCloud email, this is almost as effective as not needing to create an account.
Sounds a lot like EU's GDPR: you must show a cookie popup but if the user denies it then you must still serve the content.
(When companies grow large enough, they become suspiciously similar to governmental regulators.)
It's been the same since runtime permissions on Android, which was like Marshmallow i believe
https://developer.android.com/training/permissions/requestin...
If it's being used locally for showing your location on a map, or searching for nearby businesses, sure, give it fake data.
But if you're talking about an app that does internet speed tests and maps the speeds for different cellular providers, or lets users report local weather conditions to improve forecasts, then I have no problem with those apps being able to say "Either give us an accurate location, or give us no location, we don't want your fake location."
The platforms would have to be an adjudicator of which apps get an exemption for users contributing back data that will affect other people rather than just influencing their own browsing experience.
I think Apple has come up with some good middle grounds on this, you don't have to grant an app "precise location," and you can grant photo access via a system provided image picker that only shows the app photos that you've selected.
I would like the equivalent of a "de-google'd android phone" on ios.
Also, and this was even longer ago, apps could not require users to have “an account” in order to run. I remember my company making a product change that forced users to have an account in order to function and we got (rightfully) rejected by the AppStore for this. It seems they must have softened this stance because I am seeing more and more apps that require an account to function.