Thanks – to answer your question directly: no, there’s no Main(). The app
declares exactly one top-level function, RunScreenSaver(). There’s no
RunUserInterface() either. RunScreenSaverSettings() isn’t implemented, since
the screensaver has no settings screen.
Manifest:
title=Illustrated Gospels
major_version=1
minor_version=0
build_version=00001
screensaver_title=Illustrated Gospels
ui_resolutions=fhd
rsg_version=1.3
mm_icon_focus_hd=pkg:/images/icon_focus_hd.png
mm_icon_focus_sd=pkg:/images/icon_focus_sd.png
splash_screen_hd=pkg:/images/splash_hd.jpg
splash_screen_fhd=pkg:/images/splash_fhd.jpg
Static analysis reports:
- Channels are prohibited from offering in-channel screensavers or any
feature that overrides the Roku system screensaver. (Error, req 4.5)
- (same message, duplicated)
- Channel type is channel but Main() or RunUserInterface() function is
missing. (Error)
I ran two controlled experiments to isolate this.
First, I temporarily added an empty Main(). Error 3 cleared and analysis
proceeded to surface warnings it had never reached before. So the analyzer is
definitely reading the package I upload – this is not a stale-package issue.
(I also verified the md5 of the package returned by the dashboard’s Download
link against the .pkg I uploaded. They match.)
Second, I removed mm_icon_focus_* and splash_screen_*, on the theory that
those channel-shaped attributes might be causing the app to be typed as a
channel. That produced a new req-6.4 error for the missing mm_icon_focus_hd,
and the two req-4.5 errors were completely unchanged. So those attributes are
required, and they are not the cause. I’ve restored them.
I’ve also confirmed the dashboard App type field has no effect (changing it
from Theme to App/Utility did not change the analysis results).
So: the app declares screensaver_title, has no prohibited entry points, and
the analyzer still types it as “channel,” which in turn produces the two
requirement-4.5 errors. Nothing I can change in the package affects this.
Is the channel type stored server-side on the listing, fixed at creation? If
so, can it be changed to screensaver, or do I need to create a new listing?
There is no “screensaver” option in the App type dropdown.
I’d rather not ship an empty Main() to pass the scan, since that would make
the requirement-4.5 errors legitimate.