UID

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. These UIDs are called UID1, UID2, and UID3.

In S60 application projects, UID1 is automatically specified by the build tools based on the TARGETTYPE keyword of the project's mmp file. The table below lists the UIDs for some commonly used project types. As the table below shows, the requirements for UID2 and UID3 vary based on the type of the project.

 

GUI-based applications

Static dlls

Polymorphic dlls

UID2

0x100039CE

0x1000008d

Value depends on the dll type (for example, general engine, plugin or device driver),which all have their own unique value.

UID3

Unique

Unique

Unique

May or may not be required depending on the type defined in UID2.

You need to:

There are two unprotected UID ranges that can be used for UID3 values as follows:

Symbian manages the allocation of UIDs. Developers can request UIDs either individually or in preallocated blocks by going to the Symbian Signed website.

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, change the UID3 in the mmp project file, the declaration for the CAknApplication derived class to the correct value before releasing the application and package header declaration, and the registration resource file.

For more information, see How to use UIDs and Building, debugging and deploying an application in the Symbian OS Library..

Platform UID

S60 C++ APIs are commonly targeted at multiple platform versions. Thus, it is worthwhile to design the application for multiple platform releases. Choosing the correct Platform ID helps in declaring the compatibility of each application build. The general rule is that you should use the Platform ID of the first compatible S60 platform release to provide smooth installation on that and all subsequent platform releases (provided that there is no binary break between platform releases).

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:

  • 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).