A UID is a globally unique identifier consisting of a 32-bit number used to uniquely identify, for example, an object or file type. In Symbian development, objects are identified by compound identifiers that are constructed from three UIDs, namely UID1, UID2, and UID3.
UID1 specifies the category of an object. In Symbian application
projects, UID1 is automatically specified by the build tools based
on the TARGETTYPE
keyword of the project mmp
file. For more information about the mmp
file, see the Build Configuration Files topic.
Note: You don't have to specify UID1 yourself.
UID2
value (according to the project
type) for the UID
keyword in the project mmp
file. UID values for some commonly used project types
are as follows:GUI-based applications: 0x100039CE
Static dlls: 0x1000008d
Polymorphic dlls: value depends on the dll type (general engine, plugin, device driver, etc.) which all have their own unique value
Unlike UID1 and UID2 that specify the category of an object, UID3 identifies a particular object, e.g. a particular exe file or a particular dll file.
in the project mmp
file. For more information
about the mmp
file, see Build Configuration
Files.
in your application code (in the CAknApplication class)
in the pkg
file. See the Package Files topic.
You have to get the UID3 from Symbian Signed.
There are three ranges that can be used forUID3
values as follows:For testing purposes, you can use any UID from the 0xE0000000
to 0xEFFFFFFF
range without
applying for it from Symbian Signed.
If you want to distribute a Symbian application which doesn't
need to be Symbian Signed (for example freeware), you should request
a UID from the 0xA0000000
to 0xAFFFFFFF
range of unprotected UIDs. For more information, see UID of self-signed applications in the Forum
Nokia technical library
If you want to use some restricted features of a mobile device,
you need to request your application to be Symbian Signed which means
that you request a UID3 from the 0x20000000
to 0x2FFFFFFF
range
For more information, see Building.
Note: If you use a UID3 that is in the test range during development and need to replace it with a UID assigned by Symbian Signed so that you can get the application Symbian Signed you need to replace all occurrences of the UID3 in your source code. To do this you can do a text-based search and replace (with e.g. Carbide++) in the project files. The UID3 value is used at least in the following places:
the mmp
project file
the declaration of the CAknApplication derived class
the registration resource file. See the Creating registration resource files section from the Managing resource files topic.
Platform UIDs are used to uniquely identify versions
of the Symbian platform. To set the platform UID, specify the target
platform version for your application in your project pkg
file. For more information, see UIDs.