Symbol conflict processing method and device, equipment and medium

By performing classified configuration and precompiled script detection of the iOS project dependency library, symbol conflict detection scripts are triggered, which solves the problems of low accuracy of symbol conflict detection and cumbersome detection process in iOS application development, and efficient and reliable symbol conflict detection and processing are achieved, reducing costs and reducing the situation of running Crash.

CN120215955APending Publication Date: 2025-06-27KANG JIAN INFORMATION TECH (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510271888.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-07
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In the process of iOS application development in the field of medical financial technology, as the project scale expands and the number of second-party libraries and third-party libraries introduced increases, symbol conflicts often occur, resulting in application compilation failure and runtime errors, affecting development efficiency and application quality. Existing solutions lack detection of normal compilation but Crash occurs at runtime, and the detection process is cumbersome, with high time and testing costs.

Method used

By classifying and configuring the data information of the dependent library according to the dependency library corresponding to the iOS project; when a precompiled script detects that the data information of the dependent library has changed, the symbol conflict detection script is triggered; the symbol conflict detection script is used to obtain and modify file symbol conflicts or binary symbol conflicts.

Benefits of technology

This method simplifies the query path for symbol conflict detection through classifying management of dependency libraries, improves detection efficiency and reliability, reduces time and testing costs, and detects symbol conflicts in advance through precompiled scripts to reduce the situation of Crash at runtime.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120215955A_ABST
    Figure CN120215955A_ABST
Patent Text Reader

Abstract

The invention discloses a symbol conflict processing method and device, equipment and a medium, relates to the technical field of computers and medical financial science and technology, can be applied to application development of scenes such as a medical system, an insurance system and a financial system, and solves the problems of low detection accuracy, tedious detection process and high detection efficiency during existing symbol conflict detection. The time cost and the test cost are high. The method comprises the following steps: configuring data information of a dependency library in a classified manner according to the dependency library corresponding to an iOS project; when a pre-compiling script is utilized to detect that the data information of the dependency library is changed, a symbol conflict detection script is triggered; and acquiring and modifying file symbol conflicts or binary symbol conflicts by utilizing the symbol conflict detection script. The method is suitable for solving the symbol conflicts in the application program development process in scenes such as a medical system, an insurance system and a financial system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology and the field of medical fintech technology, and particularly relates to a method, device, equipment and medium for handling symbol conflicts. Background Art

[0002] In the process of iOS application development related to the field of medical fintech, with the continuous expansion of the project scale and the increase in the number of second-party libraries and third-party libraries introduced, symbol conflict problems often occur. Symbol conflicts may lead to adverse consequences such as application compilation failure and runtime errors, seriously affecting development efficiency and application quality.

[0003] The existing technical solutions for solving symbol conflicts have deficiencies: 1. In the detection process, the detection of the situation where compilation is normal but crashes occur during runtime is lacking; 2. Each detection takes a long time, and the number of libraries to be detected is large, resulting in a large test cost. Summary of the Invention

[0004] In view of this, this application provides a method, device, equipment and medium for handling symbol conflicts, mainly aiming to solve the technical problems that in the existing symbol conflict detection, the detection of the situation where compilation is normal but crashes occur during runtime is lacking, resulting in low detection accuracy, and the detection process is cumbersome, with high time cost and test cost.

[0005] According to one aspect of this application, a method for handling symbol conflicts is provided, and the method includes:

[0006] Classify and configure the data information of the dependent libraries according to the dependent libraries corresponding to the iOS project;

[0007] When it is detected by the pre-compilation script that the data information of the dependent libraries has changed, trigger the symbol conflict detection script;

[0008] Use the symbol conflict detection script to obtain and modify file symbol conflicts or binary symbol conflicts.

[0009] According to another aspect of this application, a device for handling symbol conflicts is provided, and the device includes:

[0010] A configuration module, configured to classify and configure the data information of the dependent libraries according to the dependent libraries corresponding to the iOS project;

[0011] A trigger module, configured to trigger the symbol conflict detection script when it is detected by the pre-compilation script that the data information of the dependent libraries has changed;

[0012] A modification module, configured to use the symbol conflict detection script to obtain and modify file symbol conflicts or binary symbol conflicts.

[0013] According to another aspect of the present application, there is provided a computer storage medium, on which a computer program is stored, and when the program is executed by a processor, the above-mentioned method for handling symbol conflicts is implemented.

[0014] According to still another aspect of the present application, there is provided a computer device, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, and when the processor executes the program, the above-mentioned method for handling symbol conflicts is implemented.

[0015] By means of the above technical solutions, compared with the existing cumbersome and limited-effect symbol conflict solutions, the method, device, equipment and medium for handling symbol conflicts provided by the present application classify and configure the data information of the dependent libraries according to the dependent libraries corresponding to the iOS project; when it is detected by a pre-compilation script that the data information of the dependent libraries has changed, a symbol conflict detection script is triggered; by using the symbol conflict detection script, file symbol conflicts or binary symbol conflicts are obtained and modified. It can be seen that based on the classification management of different dependent libraries, the query path for subsequent symbol conflict detection can be simplified, thereby improving the efficiency and reliability of symbol conflict detection, effectively reducing the time cost and testing cost, and by adding a pre-compilation script, it is possible to detect and handle symbol conflicts before the compilation script of the iOS project runs, improving the detection accuracy, and thus reducing the situation of crashes during runtime.

[0016] The above description is only an overview of the technical solutions of the present application. In order to be able to understand the technical means of the present application more clearly, it can be implemented according to the content of the specification, and in order to make the above and other purposes, features and advantages of the present application more obvious and understandable, the specific embodiments of the present application are specifically exemplified below. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The drawings described herein are used to provide a further understanding of the present application, and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:

[0018] Figure 1 A flowchart showing a method for handling symbol conflicts provided by an embodiment of the present application is shown;

[0019] Figure 2 A flowchart showing another method for handling symbol conflicts provided by an embodiment of the present application is shown;

[0020] Figure 3 A structural diagram showing a device for handling symbol conflicts provided by an embodiment of the present application is shown;

[0021] Figure 4The figure shows a schematic structural diagram of another symbol conflict processing device provided by an embodiment of the present application. Detailed implementation manners

[0022] In the following, the present application will be described in detail with reference to the accompanying drawings and in conjunction with embodiments. It should be noted that, without conflict, the embodiments in the present application and the features in the embodiments may be combined with each other.

[0023] In the process of iOS application development related to the existing medical fintech field, during symbol conflict detection, the detection of the situation where compilation is normal but crashes occur during runtime is lacking, resulting in low detection accuracy, as well as a cumbersome detection process, and there are technical problems of high time cost and testing cost. This embodiment provides a method for processing symbol conflicts, which can simplify the query path for subsequent symbol conflict detection based on the classification management of different dependency libraries, thereby improving the efficiency and reliability of symbol conflict detection, effectively reducing the time cost and testing cost, and by adding a pre-compilation script, it can achieve the detection and processing of symbol conflicts before the compilation script of the iOS project runs, improving the detection accuracy, and thus reducing the occurrence of crashes during runtime. As Figure 1 shown, taking the application of this method to computer devices such as application development as an example for illustration, it may involve the development of application programs such as medical systems, insurance systems, financial systems, digital business platforms, etc. The above method includes the following steps:

[0024] Step 101: Classify and configure the data information of the dependency libraries according to the dependency libraries corresponding to the iOS project.

[0025] In this embodiment, during the iOS application development process, different dependency libraries are allocated and configured based on the attribute information of the dependency libraries. The dependency libraries may include open-source dependency libraries and local dependency libraries. The dependency libraries may include second-party libraries and third-party libraries. According to the requirements of the actual application scenario, for the open-source second-party libraries and open-source third-party libraries corresponding to the iOS project, a dependency library management tool is used to introduce and manage the open-source second-party libraries and open-source third-party libraries, so as to load the library files of the open-source second-party libraries and open-source third-party libraries; for the local third-party libraries corresponding to the iOS project, the library files of the local third-party libraries are directly stored in the directory folder of the iOS project.

[0026] Step 102: When it is detected by the pre-compilation script that the data information of the dependency libraries has changed, trigger the symbol conflict detection script.

[0027] In this embodiment, an iOS project is opened based on an integrated development environment for performing iOS project configuration and compilation operations, and a pre-compilation script is added to the compilation resources. Before compiling the iOS project, the pre-compilation script is preferentially executed. The pre-compilation script can be used to detect whether there are changes in the data information of the dependent libraries and trigger symbol conflict detection. Specifically, if it is detected that there are changes in the data information of the dependent libraries, a symbol conflict detection script is triggered; if it is not detected that there are changes in the data information of the dependent libraries, the compilation script of the iOS project is continued to run.

[0028] Step 103: Use the symbol conflict detection script to obtain and modify file symbol conflicts or binary symbol conflicts.

[0029] In this embodiment, when it is detected by the pre-compilation script that there are changes in the data information of the dependent libraries, the symbol conflict information of the changed library files is recorded and the symbol conflict detection script is triggered, so that the symbol conflict detection script can only detect the symbols in the symbol conflict information of the changed library files that are recorded to determine whether there are conflicts, thereby effectively improving the detection efficiency of symbol conflicts. In the development of the iOS project of the medical system, the dependent libraries corresponding to the key modules of the medical system are mainly detected, such as the dependent libraries corresponding to the patient data encryption module, the medical image processing SDK, etc. for symbol conflict detection. The specific symbols include identifiers such as function names, variable names, and class names. When the same symbol is defined in different libraries, there is a symbol conflict, and it is easy to cause a Crash during runtime.

[0030] For this embodiment, the above solution can be adopted. According to the dependent libraries corresponding to the iOS project, the data information of the dependent libraries is classified and configured; when it is detected by the pre-compilation script that there are changes in the data information of the dependent libraries, the symbol conflict detection script is triggered; use the symbol conflict detection script to obtain and modify file symbol conflicts or binary symbol conflicts. Compared with the existing cumbersome and limited-effect symbol conflict solution, this embodiment can simplify the query path of subsequent symbol conflict detection based on the classification management of different dependent libraries, thereby improving the detection efficiency and reliability of symbol conflicts, effectively reducing the time cost and testing cost, and by adding a pre-compilation script, it can detect and handle symbol conflicts before the compilation script of the iOS project runs, improving the detection accuracy, thereby reducing the situation of Crash during runtime.

[0031] Further, as a refinement and extension of the specific implementation of the above embodiment, in order to fully illustrate the specific implementation process of this embodiment, another method for handling symbol conflicts is provided. This embodiment can be applied to scenarios such as symbol conflict detection and handling involved in the development and testing of application programs such as medical systems, insurance systems, financial systems, and digital business platforms. Based on the classified management of different dependency libraries, it can simplify the query path for subsequent symbol conflict detection, thereby improving the efficiency and reliability of symbol conflict detection, effectively reducing the time cost and testing cost, and by adding a pre-compiled script, it can detect and handle symbol conflicts before the compilation script of the iOS project runs, improving the detection accuracy, and thus reducing the occurrence of crashes during runtime. As Figure 2 shown, the method includes:

[0032] Step 201, according to the open-source second-party libraries and open-source third-party libraries corresponding to the iOS project, load the library files of the open-source second-party libraries and open-source third-party libraries in the configuration file of the iOS project.

[0033] Step 202, according to the local third-party libraries corresponding to the iOS project, store the library files of the local third-party libraries in the directory folder of the iOS project.

[0034] In implementation, the dependency libraries include open-source second-party libraries, open-source third-party libraries, and local third-party libraries. The iOS project introduces and manages the open-source second-party libraries and open-source third-party libraries required by the iOS project based on a third-party library dependency management tool, and declares the open-source second-party libraries and open-source third-party libraries on which the project depends in the configuration file, so that when executing the corresponding plugin commands, the third-party library dependency management tool can automatically download and install the open-source second-party libraries, open-source third-party libraries and their corresponding version information, and handle the dependency relationships between the libraries.

[0035] In implementation, for the local third-party libraries that need to be manually loaded in the iOS project, in order to facilitate management and simplify the subsequent symbol conflict detection path, the local third-party libraries are stored in a fixed folder. It should be noted that for the local third-party libraries stored in the fixed folder, the version changes of the local third-party libraries can be tracked through commit records.

[0036] Step 203, the iOS project detects whether there are changes in the data information of the dependency libraries by calling a pre-compiled script.

[0037] Step 204, if no changes in the data information of the dependency libraries are detected, continue to run the compilation script of the iOS project.

[0038] Step 205, if changes in the data information of the dependency libraries are detected, trigger a symbol conflict detection script.

[0039] During implementation, before the compilation script of the iOS project runs, a pre-compilation script is added to the compilation resources. Specifically, open the iOS project in the integrated development environment, create a new script execution phase in the compilation resources, and add a custom script command, that is, the pre-compilation script, to the new script execution phase. It can be seen that the detection logic is automatically executed before each compilation to achieve automatic triggering without manual intervention. At the same time, potential problems are discovered before the compilation phase, reducing the subsequent debugging cost and intercepting problems in advance.

[0040] According to the requirements of the actual application scenario, the pre-compilation script is mainly responsible for detecting whether there are changes in the open-source second-party libraries, open-source third-party libraries, and local third-party libraries introduced in the iOS project. Changes in the open-source second-party libraries, open-source third-party libraries, and local third-party libraries may include updates to library files, version changes, or adjustments to dependency relationships, etc. If changes are detected, the subsequent symbol conflict detection process is triggered; if no changes are detected, the iOS project continues to be compiled and run normally. It can be seen that triggering the symbol conflict detection when there are actual dependency changes can avoid waste of resources in ineffective detection and accurately monitor. At the same time, it can promptly discover new conflicts introduced by dependency updates and shorten the problem repair cycle.

[0041] Among them, it is possible to determine whether the library file has changed by comparing the hash values (such as MD5 or SHA-1) of the library files. In the script, by traversing the library files introduced in the configuration file and the directory folder, calculate their hash values and compare them with the previously recorded hash values. If the hash values are different, it means that the library file has changed. The specific method for change detection is not specifically limited here and may also include detecting changes in the version number of the library, addition or deletion of dependent files, etc., excluding the deletion of the library.

[0042] To illustrate the specific implementation manners of steps 203 - 205, as a preferred embodiment, this embodiment further includes: using the pre-compilation script to respectively detect the open-source second-party libraries and open-source third-party libraries loaded in the configuration file of the iOS project, and the local third-party libraries stored in the directory folder of the iOS project; and if a changed library file is detected, triggering the symbol conflict detection script to record the symbol conflict information of the changed library file.

[0043] To illustrate the specific implementation manners of steps 203 - 205, as a preferred embodiment, this embodiment further includes: performing change detection on the open - source second - party libraries and open - source third - party libraries loaded in the configuration file of the iOS project. If a changed library file is detected, triggering a symbol conflict detection script to record the symbol conflict information of the changed library file. Conversely, if no changed library file is detected, continue to detect the library files of the local third - party libraries stored in the directory folder of the iOS project; and, performing change detection on the local third - party libraries stored in the directory folder of the iOS project. If a changed library file is detected, triggering a symbol conflict detection script to record the symbol conflict information of the changed library file. Conversely, if no changed library file is detected, continue to run the compilation script of the iOS project.

[0044] In implementation, if a new library is detected, or the content of a certain library is modified, a pre - compilation script is used to trigger a symbol conflict detection script to perform symbol conflict detection on the changed library. The symbol conflict detection script uses a global symbol command based on a recursive search tool, such as the "class name / global variable name" command, to detect conflicts in the class names and global variable names in the suffix information of the changed library file. If the same symbol exists in different library files, there is a symbol conflict, and the symbol conflict information is output, specifically including the name of the conflicting symbol, the path of the library file where it is located, and the relevant context information.

[0045] Step 206: Use the symbol conflict detection script to determine the file type according to the suffix information of the file where the symbol conflict is located.

[0046] Step 207: If the file type is source code, modify the file symbol conflict through a script command.

[0047] Step 208: If the file type is a binary library, modify the binary symbol conflict through a dynamic library or a script command.

[0048] In implementation, after determining that there is a symbol conflict, obtain the file extension of the file where the conflicting symbol is located through a script command (for example, ${file##*.}) and determine whether it is source code. For example, if the file extension of the file where the recorded symbol is located is.h,.m,.swift,.mm,.c, etc., it is determined as source code; if the file extension of the file where the recorded symbol is located is in a binary file format such as.a,.framework, etc., it is determined as a binary library. Further, handle the symbol conflict by modifying the symbol name, adding a namespace, or using conditional compilation according to different file types.

[0049] According to the requirements of the actual application scenario, if the library where the conflicting symbol is located is introduced in source code form, the conflicting symbol in the source code is modified through script commands. Specifically, a prefix can be directly added to the conflicting symbol, or a text processing tool can be used to replace the symbol name in the source code, such as renaming based on different functions (such as electronic medical records, doctor's order management); if the library where the conflicting symbol is located is a binary library, a dynamic library is generated manually, or the symbol conflict in the binary library is modified through script commands. For example, a tool for modifying the installation name and runtime path of the dynamic library is used to modify the symbol reference in the binary library, so that the original binary file does not need to be modified, which is applicable to scenarios where the source code cannot be obtained. It can be seen that by modifying to avoid symbol conflicts, conflicts with the medical system's own code are avoided, which is more convenient for multi-team collaborative development of the medical system, and at the same time ensures that there are no symbol conflicts between the medical standard libraries (such as HL7 FHIR) on which the medical system depends and other components, etc.

[0050] Step 209, after the iOS project finishes running the pre-compilation script, continue to run the editing script of the iOS project after modifying the file symbol conflict or the binary symbol conflict.

[0051] By applying the technical solution of this embodiment, it is possible to simplify the query path for subsequent symbol conflict detection based on the classification management of different dependent libraries, thereby improving the efficiency and reliability of symbol conflict detection, effectively reducing the time cost and testing cost, and by adding a pre-compilation script, it is possible to detect and handle symbol conflicts before the compilation script of the iOS project runs, improving the detection accuracy, thereby reducing the situation of crashes during runtime, and while ensuring the stability of the medical system, supporting the intelligent upgrade of the medical system. Compared with the existing cumbersome and limited-effect symbol conflict solution, this embodiment can solve the symbol conflict problem in the iOS system as early as possible, quickly and effectively, reduce the development time and cost, achieve efficient symbol conflict detection, and avoid application compilation failures and runtime errors caused by symbol conflicts, improve the stability of the application, and resolve runtime conflicts in advance, avoiding application crashes and improving the user experience.

[0052] Further, as Figure 1 a specific implementation of the method, an embodiment of the present application provides a device for handling symbol conflicts, as Figure 3 shown, the device includes: a configuration module 31, a trigger module 32, and a modification module 33.

[0053] The configuration module 31 is used to classify and configure the data information of the dependent libraries according to the dependent libraries corresponding to the iOS project.

[0054] The trigger module 32 is used to trigger the symbol conflict detection script when it is detected by the pre-compilation script that there are changes in the data information of the dependent libraries.

[0055] The modification module 33 is used to obtain and modify file symbol conflicts or binary symbol conflicts by using the symbol conflict detection script.

[0056] In a specific application scenario, such as Figure 4 As shown, the dependency library includes an open-source second-party library, an open-source third-party library, and a local third-party library. The configuration module 31 includes: a first configuration unit 311 and a second configuration unit 312.

[0057] The first configuration unit 311 is used to load the library files of the open-source second-party library and the open-source third-party library in the configuration file of the iOS project according to the open-source second-party library and the open-source third-party library corresponding to the iOS project.

[0058] The second configuration unit 312 is used to store the library files of the local third-party library in the directory folder of the iOS project according to the local third-party library corresponding to the iOS project.

[0059] In a specific application scenario, before the compilation script of the iOS project runs, a pre-compilation script is added to the compilation resources. The trigger module 32 includes: a call unit 321, a first detection unit 322, and a second detection unit 323.

[0060] The call unit 321 is used for the iOS project to detect whether there is a change in the data information of the dependency library by calling the pre-compilation script.

[0061] The first detection unit 322 is used to continue running the compilation script of the iOS project if no change in the data information of the dependency library is detected.

[0062] The second detection unit 323 is used to trigger the symbol conflict detection script if a change in the data information of the dependency library is detected.

[0063] In a specific application scenario, the trigger module 32 is used to respectively detect the open-source second-party library and the open-source third-party library loaded in the configuration file of the iOS project, and the local third-party library stored in the directory folder of the iOS project by using the pre-compilation script; and if a changed library file is detected, the symbol conflict detection script is triggered to record the symbol conflict information of the changed library file.

[0064] In a specific application scenario, the triggering module 32 is configured to perform change detection on the open-source second-party libraries and open-source third-party libraries loaded in the configuration file of the iOS project. If a changed library file is detected, the symbol conflict detection script is triggered to record the symbol conflict information of the changed library file. Otherwise, if no changed library file is detected, the library files of the local third-party libraries stored in the directory folder of the iOS project are continuously detected; and, change detection is performed on the local third-party libraries stored in the directory folder of the iOS project. If a changed library file is detected, the symbol conflict detection script is triggered to record the symbol conflict information of the changed library file. Otherwise, if no changed library file is detected, the compilation script of the iOS project is continuously run.

[0065] In a specific application scenario, the modification module 33 includes: a determination unit 331, a first modification unit 332, and a second modification unit 333.

[0066] The unit 331 is configured to use the symbol conflict detection script to determine the file type according to the suffix information of the file where the symbol conflict is located.

[0067] The first modification unit 332 is configured to, if the file type is source code, modify the file symbol conflict through a script command.

[0068] The second modification unit 333 is configured to, if the file type is a binary library, modify the binary symbol conflict through a dynamic library or a script command.

[0069] In a specific application scenario, the device further includes: a running module 34.

[0070] The running module 34 is configured to, after the iOS project finishes running the pre-compilation script, continue to run the editing script of the iOS project after modifying the file symbol conflict or the binary symbol conflict.

[0071] It should be noted that for other corresponding descriptions of the various functional units involved in the symbol conflict processing device provided in the embodiments of the present application, reference can be made to Figure 1 and Figure 2 the corresponding descriptions therein, which will not be elaborated here.

[0072] Based on the methods as shown in Figure 1 and Figure 2 above, correspondingly, the embodiments of the present application further provide a computer storage medium, on which a computer program is stored, and when the program is executed by a processor, it implements the symbol conflict processing method as shown in Figure 1 and Figure 2 above.

[0073] Based on such understanding, the technical solution of the present application can be embodied in the form of a software product, which can be stored in a storage medium (such as a CD-ROM, a USB flash drive, a mobile hard disk, etc.), and includes several instructions for causing a computer device (such as a personal computer, a server, or a network device, etc.) to execute the methods described in various implementation scenarios of the present application.

[0074] Based on the above-mentioned method as Figure 1 、 Figure 2 shown, and Figure 3 the virtual device embodiment shown, in order to achieve the above object, the embodiments of the present application further provide a computer device, specifically a personal computer, a server, a network device, etc. The entity device includes a storage medium and a processor; the storage medium is used to store a computer program; the processor is used to execute the computer program to implement the method for handling symbol conflicts as Figure 1 and Figure 2 shown.

[0075] Optionally, the computer device may further include a user interface, a network interface, a camera, a radio frequency (RF) circuit, sensors, an audio circuit, a WI-FI module, etc. The user interface may include a display screen (Display), an input unit such as a keyboard (Keyboard), etc. Optionally, the user interface may further include a USB interface, a card reader interface, etc. The network interface may optionally include a standard wired interface, a wireless interface (such as a Bluetooth interface, a WI-FI interface), etc.

[0076] Those skilled in the art can understand that the structure of a computer device provided in this embodiment does not constitute a limitation on the entity device, and it may include more or fewer components, or combine certain components, or have different component arrangements.

[0077] The storage medium may further include an operating system and a network communication module. The operating system is a program for managing the hardware and software resources of the computer device, and supports the operation of information processing programs and other software and / or programs. The network communication module is used to implement communication between components inside the storage medium, as well as communication between other hardware and software in the entity device.

[0078] Through the description of the above embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus a necessary general hardware platform, or can also be implemented by hardware. At the same time, the non-company software tools or components that appear in the embodiments of this application are only introduced by way of example and do not represent actual use. By applying the technical solution of this application, compared with the prior art in which the symbol conflict detection lacks the detection of the situation where the compilation is normal but a Crash occurs during runtime, resulting in low detection accuracy and a cumbersome detection process with high time and test costs, this embodiment can simplify the query path of subsequent symbol conflict detection based on the classification management of different dependency libraries, thereby improving the efficiency and reliability of symbol conflict detection. And by adding a pre-compilation script, it is possible to detect and handle symbol conflicts before the compilation script of the iOS project runs, improving the detection accuracy, so as to solve the symbol conflict problem in the iOS system as early, quickly, and effectively as possible, reduce the time and test costs, achieve efficient symbol conflict detection, avoid application compilation failures and runtime errors caused by symbol conflicts, improve the stability of the application, and resolve runtime conflicts in advance to avoid application crashes and enhance the user experience.

[0079] Those skilled in the art can understand that the drawings are only schematic diagrams of a preferred implementation scenario, and the modules or processes in the drawings are not necessarily essential for implementing this application. Those skilled in the art can understand that the modules in the device in the implementation scenario can be distributed in the device of the implementation scenario according to the description of the implementation scenario, or can be correspondingly changed and located in one or more devices different from this implementation scenario. The modules in the above implementation scenario can be combined into one module, or further split into multiple units.

[0080] The above serial numbers of this application are only for description and do not represent the advantages or disadvantages of the implementation scenarios. The above disclosure is only several specific implementation scenarios of this application. However, this application is not limited thereto, and any changes that can be conceived by those skilled in the art should fall within the protection scope of this application.

Claims

1. A method for handling symbol conflicts, characterized in that: include: According to the dependent libraries corresponding to the iOS project, classify and configure the data information of the dependent libraries; When the precompiled script is used to detect that the data information of the dependent library has changed, a symbol conflict detection script is triggered; The symbol conflict detection script is used to obtain and modify file symbol conflicts or binary symbol conflicts.

2. The method according to claim 1, characterized in that The dependent libraries include open source second-party libraries and open source third-party libraries, as well as local third-party libraries. The step of classifying and configuring data information of the dependent libraries according to the dependent libraries corresponding to the iOS project includes: According to the open source second-party library and open source third-party library corresponding to the iOS project, load the library files of the open source second-party library and open source third-party library in the configuration file of the iOS project; According to the local third-party library corresponding to the iOS project, the library files of the local third-party library are stored in the directory folder of the iOS project.

3. The method according to claim 1 or 2, characterized in that: Before the compilation script of the iOS project is run, a pre-compilation script is added to the compilation resources. When the pre-compilation script is used to detect that the data information of the dependent library has changed, the step of triggering the symbol conflict detection script includes: The iOS project detects whether the data information of the dependent library has been changed by calling a precompiled script; If no change is detected in the data information of the dependent library, continue to run the compilation script of the iOS project; If it is detected that the data information of the dependent library has changed, the symbol conflict detection script is triggered.

4. The method according to claim 1 or 2, characterized in that: The step of triggering a symbol conflict detection script when a change is detected in the data information of the dependent library by using the precompiled script includes: Using the precompiled script, respectively detect the open source second-party library and the open source third-party library loaded in the configuration file of the iOS project, and the local third-party library stored in the directory folder of the iOS project; If a changed library file is detected, the symbol conflict detection script is triggered to record the symbol conflict information of the changed library file.

5. The method according to claim 1 or 2, characterized in that: The step of triggering a symbol conflict detection script when a change is detected in the data information of the dependent library by using the precompiled script includes: Perform change detection on the open source second-party libraries and open source third-party libraries loaded in the configuration file of the iOS project. If a changed library file is detected, the symbol conflict detection script is triggered to record the symbol conflict information of the changed library file. Otherwise, if no changed library file is detected, the library files of the local third-party libraries stored in the directory folder of the iOS project will continue to be detected. Change detection is performed on the local third-party libraries stored in the directory folder of the iOS project. If a changed library file is detected, the symbol conflict detection script is triggered to record the symbol conflict information of the changed library file. Conversely, if no changed library file is detected, the compilation script of the iOS project continues to run.

6. The method according to claim 1, characterized in that The step of using the symbol conflict detection script to record and modify file symbol conflicts or binary symbol conflicts includes: Using the symbol conflict detection script, determine the file type according to the suffix information of the file where the symbol conflict is located; If the file type is source code, modify the file symbol conflict through script commands; If the file type is a binary library, the binary symbol conflict is modified through a dynamic library or a script command.

7. The method according to claim 1, characterized in that After the step of using the symbol conflict detection script to record and modify file symbol conflicts or binary symbol conflicts, the method further includes: After the iOS project has finished running the precompiled script, the editing script of the iOS project after modifying the file symbol conflict or the binary symbol conflict continues to run.

8. A device for processing symbol conflicts, characterized in that: include: A configuration module, used to classify and configure data information of dependent libraries according to the dependent libraries corresponding to the iOS project; A trigger module, used for triggering a symbol conflict detection script when a change is detected in the data information of the dependent library by using a precompiled script; The modification module is used to obtain and modify file symbol conflicts or binary symbol conflicts using the symbol conflict detection script.

9. A computer storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method for handling symbol conflicts described in any one of claims 1 to 7 is implemented.

10. A computer device comprising a storage medium, a processor, and a computer program stored in the storage medium and executable on the processor, characterized in that: When the processor executes the program, the method for handling symbol conflicts according to any one of claims 1 to 7 is implemented.