Dev Log ยท Flashlight Pure, iOS, App Store, Rejection
Four months for a flashlight, and then Apple says: there are enough of those
3 September 2026:
Flashlight Pure has been on Google Play for months. It is not on the App Store, and
after this summer it does not look like that will change. The road there is a story in
two rejections, and the first one was our own fault.
April: rejected, and rightly so
Apple named two guidelines. One says an app should not point at other platforms. Our
description mentioned Android, the screenshots showed the quick settings tile, and the
support address led to a page advertising the Play version. The other says the first
in-app purchase item has to be submitted together with the binary. The tool used to
submit does not attach it by itself.
Our own notes carry a sentence that can stand: since April the resubmission has not
failed because of Apple, but because of us.
August: real screenshots show what mock-ups hide
Before the second submission the store images were no longer mocked up but captured:
234 real screenshots in 39 languages, from the simulator.
Which at first did not show the app at all. Without a flash the controller reports
"not available" and the interface hides itself completely. A launch argument that
exists only in the test build provides a flash that emits no light. That made the
interface capturable.
The first real capture showed two faults that were never visible in the mock-ups. In
light mode the cards were invisible: the card used the second group colour, which is
white there, and the ground underneath was white too. And without an accent colour
set, the system tints every button, slider and link in system blue. Next to the orange
brand elements that looked like a half-finished template.
Both are fixed, and neither would have surfaced if the images had gone on being made
at a desk.
Then a declaration that exists only in the browser
Everything was in place: binary attached, text free of other-platform references, age
rating complete, the purchase item submitted this time. The submission itself failed
on a message that only said this resource could not be validated.
The raw response named the reason: a European reporting requirement, for which you
have to declare whether the app is a personal service. Not settable through the API;
every path answers with a 404. That can only be done in the browser, by hand.
On 21 August the submission was finally out.
24 August: there are enough of those
The answer came after three days and cited guideline 4.3(b), design and spam. In its
own words: the app is primarily a flashlight and duplicates the content and function
of similar apps already widely available. There are enough of them on the App Store.
There is nothing to fix against that. It is not a defect you remedy; it is a verdict
on the category.
One detail sticks anyway: it was reviewed on an iPad Air with no LED flash, although
the app is submitted for iPhone only. Open it there and you do not see the main
function, because there is nothing to light up. So the reviewer probably never saw
what the app does before deciding there are enough of them.
What follows from it
The build stays valid until November, the paperwork is complete, and the whole route
is written down so the next app does not find the same seven obstacles one at a time.
That is the return on it: for Vault Pure or QR Scanner Pure the Apple part is now a
list rather than an expedition.
For the flashlight itself, the honest answer is that an app defined by one basic
function has little chance on the App Store, however cleanly it is built. On Google
Play it is available unchanged, and there it works well.
The rejection made the app better, as it happens. The two design faults from the
simulator are in the Android version today.
Warm regards from the workshopDigitale Manufaktur Rudolstadt