iOS system engineering component generation method, device, equipment and storage medium

By using preset templates to generate components and configuration files during the iOS system SDK generation process, the problem of time-consuming traditional SDK generation is solved, and engineering components can be quickly generated and modified, thereby improving development efficiency.

CN115480757BActive Publication Date: 2025-09-23BOE TECHNOLOGY GROUP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211142557.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-20
Publication Date
2025-09-23
Estimated Expiration
2042-09-20

AI Technical Summary

Technical Problem

In the traditional iOS system SDK generation process, especially in multi-project situations, it is easy to rework due to missing functions, which is time-consuming and leads to excessively long development time for iOS system engineering components.

Method used

Generate components by obtaining preset templates, including a basic project template and multiple basic configuration files, select the target configuration file to configure the basic project template, generate the first scenario project template, and modify it according to user needs to generate the second scenario project template. Finally, perform the installation operation in the workspace project to obtain the iOS system project component.

Benefits of technology

It reduces the development time of iOS system engineering components, improves the generation efficiency of engineering components, and ensures the rapid generation and modification process of SDK projects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115480757B_ABST
    Figure CN115480757B_ABST
Patent Text Reader

Abstract

The present invention provides an iOS system engineering component generation method, apparatus, device, and storage medium, including: obtaining a preset template generation component, wherein the preset template generation component includes a basic engineering template and multiple basic configuration files, wherein the basic engineering template includes a software development kit engineering template, a demonstration engineering template, a bundled engineering template, and a workspace engineering template; selecting a target basic configuration file from the multiple basic configuration files, and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template; responding to a user's modification instruction, modifying the software development kit engineering template, the demonstration engineering template, the bundled engineering template, and the workspace engineering template in the first scenario engineering template to obtain a second scenario engineering template; and performing an installation operation in the workspace engineering of the second scenario engineering template to obtain an iOS system engineering component. The above method reduces the development time of iOS system engineering components.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, apparatus, device, and storage medium for generating iOS system engineering components. Background Art

[0002] In the traditional iOS (mobile operating system)-based SDK (Software Development Kit) generation logic, from the creation process to checking the necessary functions for generating the SDK, it is necessary to use Xcode (Integrated Development Kit) to make a series of content changes. Sometimes, rework is often required due to missing functions. Especially when the number of SDK projects is large, it takes a long time to generate the SDK project, which in turn leads to a long time to develop iOS system engineering components. Summary of the Invention

[0003] The purpose of the embodiments of the present application is to provide a method, apparatus, device, and storage medium for generating iOS system engineering components to reduce the time required for developing iOS system engineering components. The specific technical solutions are as follows:

[0004] According to a first aspect of an embodiment of the present application, a method for generating an iOS system engineering component is provided, the method comprising:

[0005] Obtaining a preset template generation component, wherein the preset template generation component includes a basic project template and multiple basic configuration files, the basic project template includes a software development kit project template, a demonstration project template, a bundled project template, and a workspace project, and the workspace project is used to manage the software development kit project template, the demonstration project template, and the bundled project template;

[0006] Selecting a target basic configuration file from the multiple basic configuration files, and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template;

[0007] In response to a modification instruction from a user, modifying the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template to obtain a second scenario project template;

[0008] Perform the installation operation in the workspace project of the second scenario project template to obtain the iOS system project component.

[0009] Optionally, the method further includes:

[0010] In response to a user's operation instruction, creating a first preset folder and a workspace project of the first preset folder;

[0011] Create a software development kit project template, a demo project template, and a bundled project template in the first preset folder, and after completing the initial parameter configuration, bind them to the preset workspace to obtain the basic project template;

[0012] Create a precompiled header file, a basic configuration file, and a resource reading path class of the software development kit project template in the basic project template to obtain a preset template generation component.

[0013] Optionally, the software development kit project template, the demonstration project template, and the bundled project template are created in the first preset folder, and after completing the initial parameter configuration, they are bound to the preset work area to obtain a basic project template, including:

[0014] Creating a software development kit project template in a first preset folder, configuring build setting parameters of the software development kit project template, and binding it to a preset work area;

[0015] Creating a demonstration project template in a first preset folder, configuring certificate signature parameters and build setting parameters of the demonstration project template, and binding it to a preset work area;

[0016] A bundled project template is created in the first preset folder, construction setting parameters of the bundled project template are configured, and the template is bound to the preset work area to obtain a basic project template.

[0017] Optionally, the step of creating a precompiled header file, a basic configuration file, and a resource reading path class of a software development kit project template in the basic project template includes:

[0018] Creating a precompiled header file, and binding the precompiled header file to a prefix header of a build setting of a software development kit project template in the basic project template;

[0019] Creating a second preset folder, obtaining multiple basic configuration files input by a user, and storing each of the basic configuration files in the second preset folder, wherein each of the basic configuration files corresponds to a corresponding type of engineering component;

[0020] A resource reading path class is created, wherein the resource reading path class reads a corresponding basic configuration file.

[0021] Optionally, selecting a target basic configuration file from the multiple basic configuration files, and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template includes:

[0022] Reading a target basic configuration file from the multiple basic configuration files through the resource reading path class;

[0023] The software development kit project template in the basic project template is configured using the target basic configuration file to obtain a first scenario project template.

[0024] Optionally, in response to a user's modification instruction, modifying the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template to obtain the second scenario project template includes:

[0025] Modifying the property list file, main function folder, software development kit test folder, and software development kit project name of the software development kit project template in the first scenario project template, and renaming the property list file of the software development kit project template; wherein the property list file of the software development kit project template is used to store various configuration parameters of the software development kit project template;

[0026] Modify the attribute list file, main function folder, test folder, interface test folder, and demonstration project name of the demonstration project template in the first scenario project template, and rename the attribute list file of the demonstration project template; wherein the attribute list file of the demonstration project template is used to store various configuration parameters of the demonstration project template;

[0027] Modify the property list file, main function folder, bundle test folder, and bundle project name of the bundled project template in the first scenario project template, and rename the property list file of the bundled project template; wherein the property list file of the bundled project template is used to store various configuration parameters of the bundled project template;

[0028] Modify the workspace project in the first scenario project template;

[0029] Modify the folder name outside the first scenario project template;

[0030] Get the second scene project template.

[0031] Optionally, the method further includes:

[0032] Modify the property list file of the software development kit project template in the first scenario project template again;

[0033] Modify the property list file of the demonstration project template in the first scenario project template again;

[0034] Modify the property list file of the bundled project template in the first scenario project template again.

[0035] Optionally, the method further includes:

[0036] Modify the binding name referenced within the software development kit project template in the first scenario project template;

[0037] Modify the binding name referenced internally by the demonstration project template in the first scenario project template.

[0038] According to a second aspect of an embodiment of the present application, a device for generating an iOS system engineering component is provided, the device comprising:

[0039] an acquisition module, configured to acquire a preset template generation component, wherein the preset template generation component includes a basic project template and multiple basic configuration files, the basic project template includes a software development kit project template, a demonstration project template, a bundled project template, and a workspace project, and the workspace project is used to manage the software development kit project template, the demonstration project template, and the bundled project template;

[0040] A first scenario engineering template acquisition module is configured to select a target basic configuration file from the multiple basic configuration files, and configure the basic engineering template using the target basic configuration file to obtain a first scenario engineering template;

[0041] A second scenario project template acquisition module is configured to modify the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template in response to a user's modification instruction to obtain a second scenario project template;

[0042] The project component acquisition module is used to perform an installation operation in the workspace project of the second scenario project template to obtain iOS system project components.

[0043] Optionally, the device further includes:

[0044] A creating module, configured to create a first preset folder and a workspace project of the first preset folder in response to an operation instruction of a user;

[0045] A basic project template acquisition module is used to create a software development kit project template, a demonstration project template, and a bundled project template in a first preset folder, and after completing the initial parameter configuration, bind them to the preset work area to obtain the basic project template;

[0046] The preset template generation component acquisition module is used to create a precompiled header file, a basic configuration file and a resource reading path class of the software development tool kit project template in the basic project template to obtain the preset template generation component.

[0047] Optionally, the basic engineering template acquisition module includes:

[0048] A first creation submodule is configured to create a software development kit project template in a first preset folder, configure construction setting parameters of the software development kit project template, and bind it to a preset work area;

[0049] A second creation submodule is configured to create a demonstration project template in a first preset folder, configure the certificate signature parameters and build setting parameters of the demonstration project template, and bind it to a preset work area;

[0050] The third creation submodule is used to create a bundled project template in the first preset folder, configure the construction setting parameters of the bundled project template, and bind it to the preset work area to obtain a basic project template.

[0051] Optionally, the preset template generation component acquisition module includes:

[0052] A fourth creation submodule is used to create a precompiled header file and bind the precompiled header file to a prefix header of a build setting of a software development kit project template in the basic project template;

[0053] a fifth creation submodule, configured to create a second preset folder, obtain multiple basic configuration files input by a user, and store each of the basic configuration files in the second preset folder, wherein each of the basic configuration files corresponds to a corresponding type of engineering component;

[0054] The sixth creation submodule is used to create a resource reading path class, wherein the resource reading path class reads a corresponding basic configuration file.

[0055] Optionally, the first scenario engineering template acquisition module includes:

[0056] A target basic configuration file reading submodule is used to read a target basic configuration file from the multiple basic configuration files through the resource reading path class;

[0057] The first scenario engineering template acquisition submodule is used to configure the software development kit engineering template in the basic engineering template using the target basic configuration file to obtain the first scenario engineering template.

[0058] Optionally, the second scenario engineering template acquisition module includes:

[0059] a first modification submodule, configured to modify a property list file, a main function folder, a software development kit test folder, and a software development kit project name of the software development kit project template in the first scenario project template, and to rename the property list file of the software development kit project template; wherein the property list file of the software development kit project template is used to store various configuration parameters of the software development kit project template;

[0060] A second modification submodule is configured to modify the attribute list file, main function folder, test folder, interface test folder, and demonstration project name of the demonstration project template in the first scenario project template, and rename the attribute list file of the demonstration project template; wherein the attribute list file of the demonstration project template is used to store various configuration parameters of the demonstration project template;

[0061] a third modification submodule, configured to modify the attribute list file, main function folder, bundled test folder, and bundled project name of the bundled project template in the first scenario project template, and rename the attribute list file of the bundled project template; wherein the attribute list file of the bundled project template is used to store various configuration parameters of the bundled project template;

[0062] A fourth modification submodule, configured to modify the workspace project in the first scenario project template;

[0063] A fifth modification submodule, used to modify the name of the folder outside the first scenario project template;

[0064] The second scenario project template acquisition submodule is used to obtain the second scenario project template.

[0065] Optionally, the second scenario engineering template acquisition module further includes:

[0066] a sixth modification submodule, configured to modify again the property list file of the software development kit project template in the first scenario project template;

[0067] a seventh modification submodule, configured to modify again the attribute list file of the demonstration project template in the first scenario project template;

[0068] The eighth modification submodule is used to modify the property list file of the bundled project template in the first scenario project template again.

[0069] Optionally, the second scenario engineering template acquisition module further includes:

[0070] a ninth modification submodule, configured to modify a binding name referenced within the software development kit project template in the first scenario project template;

[0071] The tenth modification submodule is used to modify the binding name referenced internally by the demonstration project template in the first scenario project template.

[0072] According to a third aspect of an embodiment of the present application, there is provided an electronic device, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;

[0073] Memory for storing computer programs;

[0074] The processor is configured to implement any of the method steps described in the first aspect when executing a program stored in the memory.

[0075] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, characterized in that a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any method step described in the first aspect is implemented.

[0076] Beneficial effects of the embodiments of the present application:

[0077] An embodiment of the present application provides an iOS system engineering component generation method, apparatus, device and storage medium, including: obtaining a preset template generation component, wherein the preset template generation component includes a basic engineering template and multiple basic configuration files, the basic engineering template includes a software development kit engineering template, a demonstration engineering template, a bundled engineering template, and a workspace project, and the workspace project is used to manage the software development kit engineering template, the demonstration engineering template and the bundled engineering template; selecting a target basic configuration file from the multiple basic configuration files, and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template; in response to a user's modification instruction, modifying the software development kit engineering template, the demonstration engineering template, the bundled engineering template, and the workspace project in the first scenario engineering template to obtain a second scenario engineering template; performing an installation operation in the workspace project of the second scenario engineering template to obtain an iOS system engineering component. By configuring the target basic configuration file based on the basic project template, you can quickly obtain the first scenario project template suitable for large scenarios. Then, by modifying the first scenario project template, you can generate the second scenario project template for the actual small scenario, and thus install the iOS system project component. In other words, by directly configuring the target file and making related modifications on the basic project template, you can get the target project required by the user, and then get the target project component. Therefore, the above method can reduce the development time of iOS system project components and improve the generation efficiency of project components.

[0078] Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0079] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0080] Figure 1 A schematic diagram of the first flow chart of the iOS system engineering component generation method provided in an embodiment of the present application;

[0081] Figure 2a A second flow chart of the method for generating iOS system engineering components provided in an embodiment of the present application;

[0082] Figure 2b This is a schematic diagram of the creation process of a workspace project;

[0083] Figure 3a A third flow chart of the iOS system engineering component generation method provided in an embodiment of the present application;

[0084] Figure 3b A schematic diagram of the process of binding each project template to the preset work area;

[0085] Figure 3c A schematic diagram of the entire creation process for the basic engineering template;

[0086] Figure 4a A fourth flow chart of the iOS system engineering component generation method provided in an embodiment of the present application;

[0087] Figure 4b A schematic diagram of the creation process of a precompiled header file;

[0088] Figure 4c Schematic diagram of the path binding process for precompiled header files;

[0089] Figure 5 A fifth flow chart of the iOS system engineering component generation method provided in an embodiment of the present application;

[0090] Figure 6 A sixth flow chart of the iOS system engineering component generation method provided in an embodiment of the present application;

[0091] Figure 7 This is an algorithm diagram of the software development kit project template for the Winter Olympics digital badge;

[0092] Figure 8 A schematic diagram of the structure of an iOS system engineering component generation device provided in an embodiment of the present application;

[0093] Figure 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0094] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field based on this application are within the scope of protection of this application.

[0095] In order to reduce the time of generating iOS system engineering components and improve the efficiency of engineering component generation, the embodiments of the present application provide an iOS system engineering component generation method, apparatus, device and storage medium.

[0096] First, a method for generating an iOS system engineering component provided in an embodiment of the present application is described in detail. Figure 1 As shown, the following steps are included:

[0097] Step S101: Obtain a preset template generation component, wherein the preset template generation component includes a basic project template and multiple basic configuration files. The basic project template includes a software development kit project template, a demonstration project template, a bundled project template, and a workspace project. The workspace project is used to manage the software development kit project template, the demonstration project template, and the bundled project template.

[0098] The software development kit project template is the SDK project template. An SDK is generally a collection of development tools used by software engineers to build application software for a specific software package, software framework, hardware platform, operating system, etc. An SDK can be understood as a toolkit provided by a third-party service provider to implement a specific function in a software product. It generally comes in the form of a collection of documents, examples, and tools—in other words, a collection of many file types. The demonstration project template is the Demo project template. In software development, a Demo is simply a program that displays graphics and images. The bundle project template is the Bundle project template. The Bundle project here is used to connect the SDK project and the Demo project, establishing a connection between the two.

[0099] Step S102, selecting a target basic configuration file from the multiple basic configuration files, and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template;

[0100] The target basic configuration file is the basic configuration file corresponding to the target project required by the user. After configuring the basic project template using the target basic configuration file, the first scenario project template is obtained. The user can perform subsequent modification operations based on the first scenario project template.

[0101] Step S103, in response to a modification instruction from the user, modifying the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template to obtain a second scenario project template;

[0102] According to the target project required by the user, the software development kit project template, demonstration project template, bundled project template, and workspace project in the first scenario project template are modified to obtain a second scenario project template, which is the target project required by the user.

[0103] Step S104: performing an installation operation in the workspace project of the second scenario project template to obtain an iOS system project component.

[0104] Perform the installation operation in the workspace project of the second scenario project template to obtain the iOS system project components corresponding to the target project required by the user.

[0105] In an embodiment of the present application, by configuring the target basic configuration file based on the basic engineering template, a first scenario engineering template suitable for a large scenario can be quickly obtained, and then the first scenario engineering template can be modified to generate a second scenario engineering template for an actual small scenario, thereby installing the iOS system engineering component. In other words, by directly configuring the target file and making related modifications on the basic engineering template, the target project required by the user can be obtained, and then the target engineering component can be obtained. Therefore, the above method can reduce the development time of the iOS system engineering component and improve the generation efficiency of the engineering component.

[0106] See also Figure 2a , which is a second flow chart of the iOS system engineering component generation method provided in an embodiment of the present application, including the following steps:

[0107] Step S201, in response to a user's operation instruction, creating a first preset folder and a workspace project of the first preset folder;

[0108] The first preset folder created can be named iOSStandardSDKKit. Open Xcode in the first preset folder and create a workspace project, such as Figure 2bAs shown, it is used to manage the software development kit project templates, demonstration project templates, and bundled project templates that need to be created later. Xcode is an integrated development tool (IDE) that runs on the Mac OS X operating system. It has a unified user interface design and allows coding, testing, and debugging to be completed in a single window.

[0109] Step S202: creating a software development kit project template, a demonstration project template, and a bundled project template in a first preset folder, and binding them to a preset workspace after completing initial parameter configuration to obtain a basic project template;

[0110] The initial parameters are the parameters configured corresponding to the basic project template, and the preset work area is the workspace project of the first preset folder created.

[0111] Step S203: creating a precompiled header file, a basic configuration file, and a resource reading path class of the software development kit project template in the basic project template to obtain a preset template generation component.

[0112] After creating the basic project template, to enable one-click configuration, you need to add several files to the SDK project template, including precompiled header files, basic configuration files, and resource read path files. This addition creates a preset template generation component, which includes the basic project template and the added basic configuration files.

[0113] In an embodiment of the present application, a software development kit project template, a demonstration project template and a bundled project template are created in a first preset folder to obtain the basic project template; a precompiled header file, a basic configuration file and a resource reading path class are added to the software development kit project template in the basic project template to obtain the preset template generation component.

[0114] See also Figure 3a , is a third flow chart of the iOS system engineering component generation method provided in the embodiment of the present application, based on Figure 2a Step S202 in the embodiment is refined and includes the following steps:

[0115] Step S301: creating a software development kit project template in a first preset folder, configuring construction setting parameters of the software development kit project template, and binding it to a preset work area;

[0116] For example, you can define the name of the created SDK project template as iOSStandardSDK and modify the general operations in the build settings (BuildSettings) as follows:

[0117] Targets--Genenal--Deployment Info sets the device and minimum supported version;

[0118] Targets--Build Settings--BaseSDK changed to iOS;

[0119] Targets--Build Settings--Enable Bitcode changed to NO;

[0120] Targets--Build Settings--Suppoted Platforms changed to iOS;

[0121] Targets--Build Settings--Build Active Architecture Only changed to NO;

[0122] Targets--Build Settings--Exclude Architectures Debug or Release, add Any iOS Simulator SDK with the value arm64;

[0123] Targets--Build Settings--Dead Code Stripping changed to NO;

[0124] Targets--Build Settings--link With Standard Libraries changed to NO;

[0125] Targets--Build Settings--Mach-O Type is changed to Static Libaray;

[0126] Targets--Build Settings--Other Linker Flags add-ObjC.

[0127] After the build setting parameters are modified, bind the software development kit project template to the preset work area for management, such as Figure 3b shown.

[0128] Step S302: creating a demonstration project template in a first preset folder, configuring certificate signature parameters and build setting parameters of the demonstration project template, and binding it to a preset work area;

[0129] For example, you can name the demo project template iOSStandardSDKDemo and modify the general settings in Build Settings, modifying some of the configurations identical to those for the SDK project template, for example, setting Enable Bitcode to NO. Also, create a standard Certificate Signing (Signing & Capabilities) configuration for the demo project template, including filling in the Bundle Id and other fields. It's recommended to fill in the Team and Bundle Id and check Automatically manage signing for easier debugging. Of course, if the target project can use its own certificate, you can simply use it.

[0130] After the build setting parameters are modified and the certificate signature parameters are configured, bind the demo project template to the preset workspace for management, similar to the software development kit project template binding process, such as Figure 3b shown.

[0131] Step S303 : creating a bundled project template in the first preset folder, configuring the construction setting parameters of the bundled project template, and binding it to the preset work area to obtain a basic project template.

[0132] For example, you can define the name of the created bundle project template as iOSStandardSDKBundle and modify the general operations in the build settings (BuildSettings) as follows:

[0133] Targets--Genenal--Deployment Info sets the device and minimum supported version;

[0134] Targets--Build Settings--BaseSDK changed to iOS;

[0135] Targets--Build Settings--Enable Bitcode changed to NO;

[0136] Targets--Build Settings--Versioning System changed to None;

[0137] Targets--Build Settings--COMBINE_HIDPI_IMAGES changed to NO.

[0138] After the build setting parameters are modified, the bundled project template is bound to the preset workspace for management, which is the same as the software development kit project template binding process, such as Figure 3b shown.

[0139] The entire creation process of the basic engineering template is as follows Figure 3c As shown, the specific process analysis is the same as above and will not be repeated here.

[0140] In an embodiment of the present application, the basic project template is obtained by creating a software development kit project template, a demonstration project template, and a bundled project template in the first preset folder, configuring the relevant parameters respectively, and binding them to the preset work area for management.

[0141] See also Figure 4a , which is a fourth flow chart of the iOS system engineering component generation method provided in the embodiment of the present application, based on Figure 2a Step S203 in the embodiment is refined and includes the following steps:

[0142] Step S401: creating a precompiled header file, and binding the precompiled header file to a prefix header of a build setting of a software development kit project template in the basic project template;

[0143] See also Figure 4b , create a precompiled header file (PCH File) in the SDK project template, you can define it as iOSStandardSDKPrefix.pch, as a global file, and then bind the file path to the Prefix Header in the Build Settings, such as Figure 4c As shown, the contents of this file can be referenced globally. For example, the contents of the precompiled header file can be as follows:

[0144]

[0145] This part of the code is mainly used to define the address of the Bundle (binding), so that it can be used directly after generating the corresponding target project.

[0146] Figure 4b The other project files in the project are explained as follows: Exports File is an export file; Markdown File is a lightweight markup language file; Shell Script is a program written using the functions of shell (which is both a command language and a programming language); StoreKit Configuration File is a sandbox purchase environment file; Test Plan is a test plan.

[0147] Playground is a code development environment; Blank Playground is a blank development environment; GamePlayground is a game development environment; Map Playground is a map development environment; Single View Playground is a view development environment.

[0148] Step S402: creating a second preset folder, obtaining multiple basic configuration files input by the user, and storing each of the basic configuration files in the second preset folder, wherein each of the basic configuration files corresponds to a corresponding type of engineering component;

[0149] Create a component base configuration (BaseConfig) folder in the SDK project template, that is, the second preset folder, as a basic configuration folder for the SDK project template.

[0150] Step S403: creating a resource reading path class, wherein the resource reading path class reads a corresponding basic configuration file.

[0151] Create a resource reading path class, which can be named XXXComponentResources. Its main content is to define the resource reading path.

[0152] For example, define static NSIntegerkXXXComponentResourcesSDKType=1 in the header file (.h file). If the default value is 1, it is defined as a software development kit project, and if the default value is 2, it is a component. The code content of the resource reading switch can be as follows:

[0153]

[0154]

[0155] Switching the corresponding configuration according to different usage scenarios has the advantage of directly using a set of business logic regardless of the project it is used for, forming a standard for the use and creation of software development kit projects.

[0156] In an embodiment of the present application, by creating a precompiled header file, a basic configuration folder of a component, and a resource reading path class file in a software development kit project template, the corresponding configuration can be switched according to different usage scenarios based on the software development kit project template, thereby realizing the use and creation standards of the software development kit project.

[0157] See also Figure 5 , is a fifth flow chart of the iOS system engineering component generation method provided in the embodiment of the present application, based on Figure 1 Step S102 in the embodiment is refined and includes the following steps:

[0158] Step S501, reading a target basic configuration file from the multiple basic configuration files through the resource reading path class;

[0159] Step S502: Using the target basic configuration file, configure the software development kit project template in the basic project template to obtain a first scenario project template.

[0160] In an embodiment of the present application, a target basic configuration file is read from multiple basic configuration files through a resource reading path class, and the target basic configuration file is used to configure the software development toolkit project template in the basic project template to obtain a first scenario project template, thereby realizing the acquisition of the first scenario project template.

[0161] See also Figure 6 , is a sixth flow chart of the iOS system engineering component generation method provided in the embodiment of the present application, based on Figure 1 Step S103 in the embodiment is refined and includes the following steps:

[0162] Step S601: Modify the property list file, main function folder, software development kit test folder, and software development kit project name of the software development kit project template in the first scenario project template, and rename the property list file of the software development kit project template; wherein the property list file of the software development kit project template is used to store various configuration parameters of the software development kit project template;

[0163] First, create a script file. The contents of the script file can be as follows:

[0164]

[0165]

[0166] The original name (Name) is the common name of the basic project template created previously, iOSStandardSDK. Set an SDK_TARGET_NAME and modify the original name according to the target name (TargetName).

[0167] You can set a target path and copy the basic project template to the target path.

[0168] cp -r / Users / jiangsj / Mobile Application Platform Template / iOSStandardSDKKit / Users / jiangsj / Mobile Application Open Platform / SDKWorkSpace / iOSStandardSDKKit

[0169] Then modify the property list file of the SDK project template (project.pbxproj):

[0170] sed-i""s / "${sourceName}" / "${targetName}" / "

[0171] $SDK_TARGET_DIR / iOSStandardSDKKit / "${sourceName}" / "${sourceName}".xcodeproj / project.pbxproj

[0172] Modify the main function folder of the software development kit project template:

[0173] cd$SDK_TARGET_DIR / iOSStandardSDKKit / "${sourceName}" / "${sourceName}"

[0174] sed -i""s / "${sourceName}" / "${targetName}" / ""${sourceName}".h

[0175] Rename

[0176] Follow this process to modify the SDK test folder (SDKTests) and the SDK project name (SDK Project).

[0177] Step S602: Modify the attribute list file, main function folder, test folder, interface test folder, and demonstration project name of the demonstration project template in the first scenario project template, and rename the attribute list file of the demonstration project template; wherein the attribute list file of the demonstration project template is used to store various configuration parameters of the demonstration project template;

[0178] The modification process is the same as that of the software development kit project template mentioned above and will not be repeated here.

[0179] Step S603: Modify the property list file, main function folder, bundled test folder, and bundled project name of the bundled project template in the first scenario project template, and rename the property list file of the bundled project template; wherein the property list file of the bundled project template is used to store various configuration parameters of the bundled project template;

[0180] The modification process is the same as that of the software development kit project template mentioned above and will not be repeated here.

[0181] Step S604: modifying the workspace project in the first scenario project template;

[0182] Step S605: modify the name of the folder outside the first scenario project template;

[0183] Step S606: Obtain a second scenario project template.

[0184] In an embodiment of the present application, the acquisition of the second scenario project template is achieved by modifying the software development kit project template, demonstration project template, bundled project template, and workspace project in the first scenario project template.

[0185] In one possible implementation, the method further includes:

[0186] Modify the property list file of the software development kit project template in the first scenario project template again;

[0187] Modify the property list file of the demonstration project template in the first scenario project template again;

[0188] Modify the property list file of the bundled project template in the first scenario project template again.

[0189] In the embodiment of the present application, each property list file (project.pbxproj) is modified again in order to verify whether all modifications are completed.

[0190] In one possible implementation, the method further includes:

[0191] Modify the binding name referenced within the software development kit project template in the first scenario project template;

[0192] After the modification is complete, modify the bundle name referenced within the software development kit project template:

[0193] sed-i""s / "${sourceName}" / "${targetName}" / "

[0194] $SDK_TARGET_DIR / "${targetName}"Kit / "${targetName}" / "${targetName}" / "${targetName}"Prefix.pch

[0195] sed-i""s / "${sourceName}" / "${targetName}" / "

[0196] $SDK_TARGET_DIR / "${targetName}"Kit / "${targetName}" / "${targetName}" / "${targetName}"Prefix.pch

[0197] Modify the binding name referenced internally by the demonstration project template in the first scenario project template.

[0198] Modify the name of the componentized internal image Bundle:

[0199] sed-i""s / "${sourceName}" / "${targetName}" / "

[0200] $SDK_TARGET_DIR / "${targetName}"Kit / "${targetName}" / "${targetName}" / BaseConfig / XXXComponentResources.m

[0201] sed-i""s / "${sourceName}" / "${targetName}" / "

[0202] $SDK_TARGET_DIR / "${targetName}"Kit / "${targetName}" / "${targetName}" / BaseConfig / XXXComponentResources.m

[0203] In one example, Figure 7 This is the algorithm diagram of the software development kit project template for the Winter Olympics digital badge. You can generate it with one click by modifying the target name in the script file. Figure 7 The target project is shown, and the image call processing has also been improved in advance.

[0204] In an embodiment of the present application, the binding name referenced internally by the software development kit project template and the binding name referenced internally by the demonstration project template in the first scenario project template are obtained.

[0205] See also Figure 8 , which is a structural diagram of an iOS system engineering component generation device provided in an embodiment of the present application, including:

[0206] An acquisition module 810 is configured to acquire a preset template generation component, wherein the preset template generation component includes a basic project template and multiple basic configuration files. The basic project template includes a software development kit project template, a demonstration project template, a bundled project template, and a workspace project. The workspace project is used to manage the software development kit project template, the demonstration project template, and the bundled project template.

[0207] A first scenario engineering template acquisition module 820 is configured to select a target basic configuration file from the multiple basic configuration files, and configure the basic engineering template using the target basic configuration file to obtain a first scenario engineering template;

[0208] A second scenario project template acquisition module 830 is configured to modify the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template in response to a user modification instruction to obtain a second scenario project template;

[0209] The project component acquisition module 840 is used to perform an installation operation in the workspace project of the second scenario project template to obtain iOS system project components.

[0210] In an embodiment of the present application, by configuring the target basic configuration file based on the basic engineering template, a first scenario engineering template suitable for a large scenario can be quickly obtained, and then the first scenario engineering template can be modified to generate a second scenario engineering template for an actual small scenario, thereby installing the iOS system engineering component. In other words, by directly configuring the target file and making related modifications on the basic engineering template, the target project required by the user can be obtained, and then the target engineering component can be obtained. Therefore, the above method can reduce the development time of the iOS system engineering component and improve the generation efficiency of the engineering component.

[0211] In a possible implementation, the device further includes:

[0212] A creating module, configured to create a first preset folder and a work area project of the first preset folder in response to an operation instruction of a user;

[0213] A basic project template acquisition module is used to create a software development kit project template, a demonstration project template, and a bundled project template in a first preset folder, and after completing the initial parameter configuration, bind them to the preset work area to obtain the basic project template;

[0214] The preset template generation component acquisition module is used to create a precompiled header file, a basic configuration file and a resource reading path class of the software development tool kit project template in the basic project template to obtain the preset template generation component.

[0215] In an embodiment of the present application, a software development kit project template, a demonstration project template and a bundled project template are created in a first preset folder to obtain the basic project template; a precompiled header file, a basic configuration file and a resource reading path class are added to the software development kit project template in the basic project template to obtain the preset template generation component.

[0216] In a possible implementation, the basic engineering template acquisition module includes:

[0217] A first creation submodule is configured to create a software development kit project template in a first preset folder, configure construction setting parameters of the software development kit project template, and bind it to a preset work area;

[0218] A second creation submodule is configured to create a demonstration project template in a first preset folder, configure the certificate signature parameters and build setting parameters of the demonstration project template, and bind it to a preset work area;

[0219] The third creation submodule is used to create a bundled project template in the first preset folder, configure the construction setting parameters of the bundled project template, and bind it to the preset work area to obtain a basic project template.

[0220] In an embodiment of the present application, the basic project template is obtained by creating a software development kit project template, a demonstration project template, and a bundled project template in the first preset folder, configuring the relevant parameters respectively, and binding them to the preset work area for management.

[0221] In a possible implementation, the preset template generation component acquisition module includes:

[0222] A fourth creation submodule is used to create a precompiled header file and bind the precompiled header file to a prefix header of a build setting of a software development kit project template in the basic project template;

[0223] a fifth creation submodule, configured to create a second preset folder, obtain multiple basic configuration files input by a user, and store each of the basic configuration files in the second preset folder, wherein each of the basic configuration files corresponds to a corresponding type of engineering component;

[0224] The sixth creation submodule is used to create a resource reading path class, wherein the resource reading path class reads a corresponding basic configuration file.

[0225] In an embodiment of the present application, by creating a precompiled header file, a basic configuration folder of a component, and a resource reading path class file in a software development kit project template, the corresponding configuration can be switched according to different usage scenarios based on the software development kit project template, thereby realizing the use and creation standards of the software development kit project.

[0226] In a possible implementation, the first scene engineering template acquisition module includes:

[0227] A target basic configuration file reading submodule is used to read a target basic configuration file from the multiple basic configuration files through the resource reading path class;

[0228] The first scenario engineering template acquisition submodule is used to configure the software development kit engineering template in the basic engineering template using the target basic configuration file to obtain the first scenario engineering template.

[0229] In an embodiment of the present application, a target basic configuration file is read from multiple basic configuration files through a resource reading path class, and the target basic configuration file is used to configure the software development toolkit project template in the basic project template to obtain a first scenario project template, thereby realizing the acquisition of the first scenario project template.

[0230] In a possible implementation, the second scenario engineering template acquisition module includes:

[0231] a first modification submodule, configured to modify a property list file, a main function folder, a software development kit test folder, and a software development kit project name of the software development kit project template in the first scenario project template, and to rename the property list file of the software development kit project template; wherein the property list file of the software development kit project template is used to store various configuration parameters of the software development kit project template;

[0232] A second modification submodule is configured to modify the attribute list file, main function folder, test folder, interface test folder, and demonstration project name of the demonstration project template in the first scenario project template, and rename the attribute list file of the demonstration project template; wherein the attribute list file of the demonstration project template is used to store various configuration parameters of the demonstration project template;

[0233] a third modification submodule, configured to modify the attribute list file, main function folder, bundled test folder, and bundled project name of the bundled project template in the first scenario project template, and rename the attribute list file of the bundled project template; wherein the attribute list file of the bundled project template is used to store various configuration parameters of the bundled project template;

[0234] A fourth modification submodule, configured to modify the workspace project in the first scenario project template;

[0235] A fifth modification submodule, used to modify the name of the folder outside the first scenario project template;

[0236] The second scenario project template acquisition submodule is used to obtain the second scenario project template.

[0237] In an embodiment of the present application, the acquisition of the second scenario project template is achieved by modifying the software development kit project template, demonstration project template, bundled project template, and workspace project in the first scenario project template.

[0238] In a possible implementation, the second scenario engineering template acquisition module further includes:

[0239] a sixth modification submodule, configured to modify again the property list file of the software development kit project template in the first scenario project template;

[0240] a seventh modification submodule, configured to modify again the attribute list file of the demonstration project template in the first scenario project template;

[0241] The eighth modification submodule is used to modify the property list file of the bundled project template in the first scenario project template again.

[0242] In the embodiment of the present application, each property list file (project.pbxproj) is modified again in order to verify whether all modifications are completed.

[0243] In a possible implementation, the second scenario engineering template acquisition module further includes:

[0244] a ninth modification submodule, configured to modify a binding name referenced within the software development kit project template in the first scenario project template;

[0245] The tenth modification submodule is used to modify the binding name referenced internally by the demonstration project template in the first scenario project template.

[0246] In an embodiment of the present application, the binding name referenced internally by the software development kit project template and the binding name referenced internally by the demonstration project template in the first scenario project template are obtained.

[0247] The present application also provides an electronic device, such as Figure 9 As shown, it includes a processor 901, a communication interface 902, a memory 903 and a communication bus 904, wherein the processor 901, the communication interface 902, and the memory 903 communicate with each other through the communication bus 904.

[0248] Memory 903, used for storing computer programs;

[0249] The processor 901 is configured to execute the program stored in the memory 903, and implement the following steps:

[0250] Obtaining a preset template generation component, wherein the preset template generation component includes a basic project template and multiple basic configuration files, the basic project template includes a software development kit project template, a demonstration project template, a bundled project template, and a workspace project, and the workspace project is used to manage the software development kit project template, the demonstration project template, and the bundled project template;

[0251] Selecting a target basic configuration file from the multiple basic configuration files, and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template;

[0252] In response to a modification instruction from a user, modifying the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template to obtain a second scenario project template;

[0253] Perform the installation operation in the workspace project of the second scenario project template to obtain the iOS system project component.

[0254] The communication bus mentioned in the electronic device mentioned above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.

[0255] The communication interface is used for communication between the above electronic device and other devices.

[0256] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0257] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0258] In another embodiment provided by the present application, a computer-readable storage medium is further provided, wherein a computer program is stored in the computer-readable storage medium. When the computer program is executed by a processor, the steps of any of the above-mentioned iOS system engineering component generation methods are implemented.

[0259] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the iOS system engineering component generation methods in the above embodiments.

[0260] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0261] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0262] Each embodiment in this specification is described in a related manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiment is generally similar to the method embodiment, so the description is relatively simple. For related parts, refer to the description of the method embodiment.

[0263] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.

Claims

1. A method for generating iOS system engineering components, characterized in that: The method comprises: Obtaining a preset template generation component, wherein the preset template generation component includes a basic project template and multiple basic configuration files, the basic project template includes a software development kit project template, a demonstration project template, a bundled project template, and a workspace project, and the workspace project is used to manage the software development kit project template, the demonstration project template, and the bundled project template; Selecting a target basic configuration file from the multiple basic configuration files, and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template; In response to a modification instruction from a user, modifying the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template to obtain a second scenario project template; Perform an installation operation in the workspace project of the second scenario project template to obtain an iOS system project component; The method further comprises: In response to a user's operation instruction, creating a first preset folder and a workspace project of the first preset folder; Create a software development kit project template, a demo project template, and a bundled project template in the first preset folder, and after completing the initial parameter configuration, bind them to the preset workspace to obtain the basic project template; Create a precompiled header file, bind the precompiled header file to the prefix header of the build setting of the software development kit project template in the basic project template, create a second preset folder, obtain multiple basic configuration files input by the user, store each of the basic configuration files in the second preset folder, create a resource reading path class, and obtain a preset template generation component; wherein, each of the basic configuration files corresponds to a corresponding type of project component, and the resource reading path class reads the corresponding basic configuration file.

2. The method according to claim 1, characterized in that The software development kit project template, demonstration project template and bundled project template are created in the first preset folder, and after completing the initial parameter configuration, they are bound to the preset work area to obtain the basic project template, including: Creating a software development kit project template in a first preset folder, configuring build setting parameters of the software development kit project template, and binding it to a preset work area; Creating a demonstration project template in a first preset folder, configuring certificate signature parameters and build setting parameters of the demonstration project template, and binding it to a preset work area; A bundled project template is created in the first preset folder, construction setting parameters of the bundled project template are configured, and the template is bound to the preset work area to obtain a basic project template.

3. The method according to claim 1, characterized in that The step of selecting a target basic configuration file from the multiple basic configuration files and configuring the basic engineering template using the target basic configuration file to obtain a first scenario engineering template includes: Reading a target basic configuration file from the multiple basic configuration files through the resource reading path class; The software development kit project template in the basic project template is configured using the target basic configuration file to obtain a first scenario project template.

4. The method according to claim 1, wherein In response to a modification instruction from a user, the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template are modified to obtain a second scenario project template, including: Modifying the property list file, main function folder, software development kit test folder, and software development kit project name of the software development kit project template in the first scenario project template, and renaming the property list file of the software development kit project template; wherein the property list file of the software development kit project template is used to store various configuration parameters of the software development kit project template; Modify the attribute list file, main function folder, test folder, interface test folder, and demonstration project name of the demonstration project template in the first scenario project template, and rename the attribute list file of the demonstration project template; wherein the attribute list file of the demonstration project template is used to store various configuration parameters of the demonstration project template; Modify the property list file, main function folder, bundle test folder, and bundle project name of the bundled project template in the first scenario project template, and rename the property list file of the bundled project template; wherein the property list file of the bundled project template is used to store various configuration parameters of the bundled project template; Modify the workspace project in the first scenario project template; Modify the folder name outside the first scenario project template; Get the second scene project template.

5. The method according to claim 4, characterized in that The method further comprises: Modify the property list file of the software development kit project template in the first scenario project template again; Modify the property list file of the demonstration project template in the first scenario project template again; Modify the property list file of the bundled project template in the first scenario project template again.

6. The method according to claim 4, characterized in that The method further comprises: Modify the binding name referenced within the software development kit project template in the first scenario project template; Modify the binding name referenced internally by the demonstration project template in the first scenario project template.

7. An iOS system engineering component generation device, characterized in that: The device comprises: an acquisition module, configured to acquire a preset template generation component, wherein the preset template generation component includes a basic project template and multiple basic configuration files, the basic project template includes a software development kit project template, a demonstration project template, a bundled project template, and a workspace project, and the workspace project is used to manage the software development kit project template, the demonstration project template, and the bundled project template; A first scenario engineering template acquisition module is configured to select a target basic configuration file from the multiple basic configuration files, and configure the basic engineering template using the target basic configuration file to obtain a first scenario engineering template; A second scenario project template acquisition module is configured to modify the software development kit project template, the demonstration project template, the bundled project template, and the workspace project in the first scenario project template in response to a user's modification instruction to obtain a second scenario project template; A project component acquisition module, configured to perform an installation operation in the workspace project of the second scenario project template to obtain an iOS system project component; The device further comprises: A creating module, configured to create a first preset folder and a workspace project of the first preset folder in response to an operation instruction of a user; A basic project template acquisition module is used to create a software development kit project template, a demonstration project template, and a bundled project template in a first preset folder, and after completing the initial parameter configuration, bind them to the preset work area to obtain the basic project template; The preset template generation component acquisition module is used to create a precompiled header file, bind the precompiled header file to the prefix header of the construction setting of the software development kit project template in the basic project template, create a second preset folder, obtain multiple basic configuration files input by the user, store each of the basic configuration files in the second preset folder, create a resource reading path class, and obtain the preset template generation component; wherein, each of the basic configuration files corresponds to a corresponding type of project component, and the resource reading path class reads the corresponding basic configuration file.

8. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory for storing computer programs; A processor, configured to implement the method steps described in any one of claims 1 to 6 when executing a program stored in a memory.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps of any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Implementation method of version management tool for Android application development

    CN102053836A

  • Configuration and startup method of application templates and mobile terminal

    CN104951329A