Looking for comment on 'PlatSec' diagnostic
I'm preparing to apply for a developer certificate and as part of that have been running the emulator with 'epocwind' logging to gather information on what the Capability requirements of my app are.
I initially had many Platsec warnings as my app (in Carbide) capability was set to 'ALL'.
I reduced this to NONE and re-ran the app on the emulator.
With 'Perform capability checks' OFF, epocwind does not now contain any PlatSec warnings. Turning ''Perform capability checks' ON my app also starts normally (I remembered to stop/start the emulator in between changes).
What I'm unclear on is this. Prior to running the diags I created a list of the resources I was #including and noted their capabilties as defined in 'Symbian OS Library 9.2' and 'S60 3rd Ed API reference'. One of these 'rconnmon.h' clearly states capability requirements 'ReadDeviceData, ReadUserData, NetworkServices'. Why doesn't this produce a PlatSec warning when I run my app if the project capability in Carbide is set to NONE?
Re: Looking for comment on 'PlatSec' diagnostic
It's possible that those capabilities aren't required for emulator builds for some reason (either the methods aren't called or they are, but the capabilities aren't enforced). Or maybe the methods you're calling from the APIs in RConnmon.h don't require them, either because the docs are out of date or they only apply to certain methods and you're not using them.
As an empiricist, I'd suggest the only way to know for use is to build for hardware, install and test. If you see failures on hardware that weren't observed on emulator, you'll probably need to add some logging code or use hardware debugging to find out if they are, indeed, caused by too few capabilities.
You can self-sign your code if it has no capabilities for now (i.e. use makekeys to generate your own cert and key pair). Later, if you find you need some capabilities or want to Symbian Sign, you'll have to get a devcert...but that's another story.