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 S60 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
S60 application projects, UID1 is automatically specified by the build tools
based on the TARGETTYPE
keyword of the project mmp
file.
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
in your application code (in the CAknApplication
class)
in the pkg
file
You have to get the UID3 from Symbian who manages the allocation of UIDs. You can request UIDs either one at a time or as preallocated blocks on the Symbian Signed website.
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
If you want to distribute a Symbian application which doesn't need
to be Symbian Signed (for example freeware), you should request 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 How to use UIDs and Building, debugging and deploying an application.
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 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:
mmp
project
file
the declaration of the CAknApplication
derived class
Platform UIDs are used to uniquely
identify versions of the S60 platform. To set the platform UID, specify the
target platform version for your application in your project pkg
file.
Platform version UIDs are as follows:
0x1028315F for S60 5th Edition SDK
0x102752AE for S60 3rd Edition SDK Feature Pack 2
0x102032BE for S60 3rd Edition SDK Feature Pack 1
0x101F7961 for S60 3rd Edition SDK
0x102032BF for S60 2nd Edition SDK Feature Pack 3
0x10200BAB for S60 2nd Edition SDK Feature Pack 2
0x101F9115 for S60 2nd Edition SDK Feature Pack 1 (v2.1)
0x101F7960 for S60 2nd Edition SDK (v2.0)
0x101F6F88 for S60 1st Edition (v0.9).