The static library *.a is intended for building the application by linking an add-in to the platform.
To avoid naming conflicts, the add-in code must have its own unique namespace. The namespace name must exactly match the add-in name or include the add-in name.
The static component registration is performed during the application startup. See the following example.
#if defined(__APPLE__) && !defined(BUILD_DYNAMIC_LIBRARY)
namespace COM_1C_STEP_COUNTER
{
static LPCVOID addin_exports[] =
{
"GetClassObject", (LPCVOID)GetClassObject,
"DestroyObject", (LPCVOID)DestroyObject,
"GetClassNames", (LPCVOID)GetClassNames,
"SetPlatformCapabilities", (LPCVOID)SetPlatformCapabilities,
NULL
};
DECLARE_DLL((const char*)g_kComponentNames, addin_exports);
}
#endif //__APPLE__ && !BUILD_DYNAMIC_LIBRARY
See the project example in directory \example\NativeAPIMobile\iOS_Proj\
Next page: Creating add-ins with COM technology