Lynx Service provides Lynx Engine with host-specific capabilities, including image, log, and FetchAPI capabilities. Different hosts have specific requirements for their own image, log, and network libraries, so Lynx Engine opens up autonomous access capabilities for such scenarios through the LynxService API.
Lynx Engine and Lynx Service adopt a dependency-separation design. In terms of the dependency relationship, Lynx Service depends on the LynxService API provided by Lynx Engine to implement itself, while Lynx Engine does not depend on LynxService. At runtime, Lynx Engine will search for the registered Lynx Service through the service lookup mechanism and call it via the LynxService API.
The LynxService API is provided by Lynx Engine and is designed to specify the capabilities of LynxService. Lynx Service needs to correctly implement itself in accordance with the requirements of the LynxService API to ensure that Lynx Engine can properly use this basic capability.
Lynx provides a default implementation of Lynx Service, which can be directly accessed
If there are custom requirements, you can also quickly implement and register relevant content according to your own needs. The following will take log service as an example to introduce how to implement and register a custom Lynx Service:
LynxServiceLogProtocol
LynxServiceRegister
to achieve automatic registration.serviceBizID
and serviceScope
. These two methods have no practical significance and will be removed later.serviceType
. It is required to return the type implemented by this Service. See LynxService.h for details.sharedInstance
to make it a singleton class. Based on the current Lynx Service design, only one instance of a certain type of Service will be used globally. It is recommended to implement it as a singleton class.LynxServiceLogProtocol
.Lynx Service has an automatic registration mechanism in iOS. In the implementation stage, the LynxServiceRegister
macro has been used to complete the quick automatic registration.
If you use your own implementation of Lynx Service, please delete the default implementation provided by Lynx.
LCD tables only load in the browser