Preventing app removal on iOS
tinycoder.pika.page
tinycoder.pika.page
My friend (an absolute bear of sleepiness) had a "wifi alarm clock" back in the day: he had to actually stumble over to his router (get a certain wifi signal level) for the alarm to switch off!
I got an alarm app that required solving math questions to do more than snooze. I had set it to three digit numbers +/- another. Worked great. Until I partied a bit too hard, and had to repeatedly snooze it, because even on the bus to university, I was too hungover to figure out the answer ;)
But in general, I was very grateful for the app.
Funnily enough, I still use one with that feature, though I don’t think I’ve ever used that feature with it. It’s Gentle Alarm (originally a paid app), which requires unpacking the apk, editing the manifest, repacking, sideloading, and giving "draw over other apps" permission to use on modern Android. The developer long ago abandoned it, the website is not registered anymore, the support mail fails, and their Google account is deleted. But it’s by far the most featureful Alarm app I know, and if any Android update completely broke it, I’d debate staying on an older version.
Diabetes causes sleepwalking? Or mega tiredness?
If this process continues the body starts producing ketones which acidify the blood which generally causes a lot of symptoms including depression of the nervous system.
A student once made a whimsical motorized alarm clock that could drive around the bedroom, the idea being that the drowsy person would wake up in course of chasing it.
Another student made an alarm clock on the computer, which would require them to be alert enough to solve a differential equation.
That seems like it’d end badly after a rough night. Not only can you not keep sleeping, you can’t function enough to shut off the alarm so you just lie in bed without actually resting. Worst of all worlds. I love it!
It’s called “Clocky”: <https://en.wikipedia.org/w/index.php?title=Clocky&oldid=1221...>
A legitimate reason to do this would be if you're on a red-eye flight somewhere, and your alarm goes off. You can't turn it off because your special object or QR code or whatever is in your checked bag. Your only option is to either turn off your phone or uninstall.
I was wondering about this, smartphones don't turn on when your alarm goes. (So you could just turn it off to bypass the "super alarm"?)
I have vague memories that older cell phones used to turn on when the alarm would ring, but I might be imagining it.
I like two of the puzzles it has : laugh out loud for some time, or should swear words
It worked, until I figured out I could just "force stop" the app lol.
The buzzer would ring until the distance sensor could see the opposite wall, and restart if I went back to bed. As a bonus, it took a few measurements during the night to track sleep quality.
Unfortunately the whole thing was running from a finicky breadboard and needed frequent calibration.
Especially if the flag doesn't expire, a bad actor could upload a flashlight app with this requirement, let the 20% or whatever tech savvy users balk at the permission, then update later to constantly serve ads or spy or whatever to the remaining 80%, who are now unable to uninstall.
Alternatively, a standard skinner-box inspired mobile game that refuses to uninstall after you've become addicted and traded the ability to uninstall for 500 PremiumBucks or whatever.
I'm legitimately surprised this is a permission that exists outside of the root user
(Don't know how this works outside of the App Store, which is an interesting question.)
I suspect this is almost always not a great solution to this problem. When I was a young adult I used aggressive alarm measures to get out of bed on time, such as having a very loud alarm clock on the far end of the room, where I had to actually get out of bed to silence it.
I discovered realized needing to do this was caused by a number of fixable health/lifestyle issues: going to bed too late, not getting enough daylight and exercise to sync my circadian rhythm correctly, too much screen time and bright lights before bed, too much coffee late in the day, etc. Nowadays I go to bed by ~8pm everyday, fall asleep quickly, and am up early. I haven't needed an alarm even for important very early events in almost a decade.
Couldn't you just forcefully turn the phone off? https://support.apple.com/guide/iphone/iph8903c3ee6/ios
My sleep has gotten consistent enough over the years that I could probably get by without it, but it did help significantly with building the habits in the first place.
If you forget to disable either, the result is the the same.
I do agree with your other observations, and done the same to regulate my sleep to not need an alarm.
Whether it's family obligations or online university courses or whatever else.
i hope they can dial 911 or hit the link to security cams.
It makes me think of this article I recently read about web components as machines. Perhaps it’s only loosely related, but I feel like it’s worth the tradeoff for the system to create the illusion of components being in charge, even though everything goes through the system, whether it be a web server, a web page, or an operating system. https://www.abeautifulsite.net/posts/component-machines/
What this app attempts to do is to make the alarm be a little bit more like clocky which could do what it did because it was a physical machine. https://en.m.wikipedia.org/wiki/Clocky
Really effective!
When I didn’t power off the phone.
Surely there is a workaround, right?
> The key is using Screen Time API of iOS.
> After getting approval from the user, the developer can set a flag to deny app removal.
> This feature must be opt-in. To enable the flag, you should explicitly get approval from the user.
Can this line of code be always running? What if the app launches itself as a background process?
For a feature I just learned about so many questions, but it's Apple in their store so hedges betting it isn't as dangerous as it sounds. But perks your ears up
I strongly doubt an app asserting this flag would pass review without giving the user a way to opt freely back out in the app's settings.
That goes double for the flag being entitlement-gated, one social reason for which requirement would be that it structurally signals a need for closer review. (I don't have an inside source at Apple, but my experience of their review process prompts the inference.)
The intent is to offer a user the option to strengthen a precommitment, not to offer an app dev the option to permanently infest a device. You can play games in app review, but only up to a point. Trying something like that seems like a good way to get deservedly permabanned.
Granted, I still wouldn't use the app, because I don't need it. But if I did, I'd feel pretty OK about enabling that feature. I might expect it to annoy me enough and aid me so little I'd turn it off again, but I'd see no need whatsoever to worry about being stuck with it.
How many people actually decide to uninstall an alarm app as it's going off?
For any more than that you're asking quite the wrong person, I'm afraid. For one, I don't intuitively understand the use case; the way this works for me is that I set my phone to play reveille when I need to wake up, and when it does, I do. That makes convenient use of some early training which is all well and good for me personally, but it leaves me little able to speak to the concerns of those for whom nothing so simple can serve.
Once you know, it’s easy to do.
Most people don’t know, so this probably does what the author is intending.
Then again, back on my N900 half awake brain once managed to pop a root shell, ps | grep, and kill -9 the alarm clock app without me having any memory of it (the shell was still open when I woke up naturally some time later or I'd never have known what happened).
Also, what about force-quitting the app? Couldn't users just do that?
v2.5.1
I was just terrified that one day I'd set the wrong alarm and have it blaring during a university lecture when I couldn't turn it off.
Past self has implemented a mandate that future self get up at this time. Future self is a sleepy, lazy, point of sale that can't be trusted.
Sample size of 1. I used to "wake up" and turn off my alarm and have zero recollection of it. I got the most annoying mechanical clock and packed it in a box that I had to unpack before I could turn it off. It got louder as I removed the packaging. The prolonged activity in order to shut off the alarm is ultimately what helped me fully wake up.
Why would people do that? And why should we prevent this it if that is what they want. I don't understand.
However here we mention people uninstalling the app instead of hitting snooze or disabling it. It sounds weird to me.