The present invention generally relates to the field of iOS application compilation and construction, and in particular, to a method and system of implementing iOS application automatic compilation.
iOS is an operating system developed by the APPLE INC. for the handheld devices. With the popularity of the handheld devices (such as iPhone, iPad), the applications for the iOS operating system have increased rapidly. However, it is very cumbersome and prone to error to compile and construct an iOS application by using a conventional compiling approach. For example, a conventional procedure for constructing an iOS application is as follows: find out address of the application to be compiled in a code library, de-sign codes by using commands in a command line, open a project, find out the version number of the current code library, find out and modify the configuration information, select the compiling target, modify the compilation type, perform clean command, perform construction command, perform packaging command, submit the modification to the code library, and the like. It needs a lot of effort to do repetitious works. Moreover, transmission is performed only in a host, but not via Web. Furthermore, the certificate required to sign in constructing the application needs to be transmitted to each computer to fulfill the transmission. Thus, it is disadvantage to security of the certificate, and cannot prevent the certificate from being abused.
Description of any prior art herein should not be construed as admitting or implying: content therein is well-known or belongs to the common technical knowledge in the present field before the filing date or priority date of any claim.
The present invention provides a method and system of implementing iOS application automatic compilation which is capable of overcoming at least part of defects existing in the above-discussed prior art.
According to one aspect of the present invention, a method of implementing iOS application automatic compilation is provided, comprising: according to a request received from a client for constructing an iOS application, returning, by at least one Web server, to the client corresponding construction service information so as to enable the client to return input information based on the construction service information; according to the returned input information, acquiring, by the Web server, a corresponding program code and modifying configuration information of the program code, the corresponding program code being pre-stored in the Web server; packaging, by the Web server, the program code according to the modified configuration information, and backuping the packaged program code; and transmitting, by the Web server, to the client a prompting information of the completion of the iOS application construction, and providing the client with the downloadable packaged program code.
According to another aspect of the present invention, a system of implementing iOS application automatic compilation is provided, comprising at least one client and at least one Web server, wherein the Web server comprises a receiving module, a task generating module, a task processing module and a sending module. In the Web server, the receiving module is configured for receiving from the client a request for constructing an iOS application and input information returned by the client based on the returned construction service information by the Web server; the task generating module is configured for generating a new construction task according to the input information; the task processing module is configured for acquiring a corresponding program code according to the construction task, and modifying the configuration information of the program code, wherein after the modifying, the task processing module packages the program code according to the construction task and backuping the packaged program code, while modifying status of the construction task to completion; and the sending module is configured for returning to the client corresponding construction service information, transmitting prompting information of the completion of the iOS application construction, and providing the client with the downloadable packaged program code.
As discussed above, by using the method and system of implementing iOS application automatic compilation provided by the present invention, all the compilation and construction information is submitted or modified via Web. Users do not need to understand how to modify the specific compilation configuration in the underlying layers. Users submit necessary compilation information via only Web pages by way of graphical interface, information filling or checkbox, and thus reduce the requirements for expertise of the users. Further, no efforts is needed in compiling every time to bond the certificate in manual, no efforts is needed in operating the compiler in manual or in modifying the configuration information. As a result, automatization of the whole compilation flow is implemented.
For a better understanding of the present invention, reference is made to the appended drawings to describe various aspects of the present invention more detailedly. It will be understood that the appended drawings and detailed description illustrate only the preferred embodiments of the present invention, and should not be construed as limitation to the scope of the present invention in all senses. It should be noted that unless otherwise expressly illustrated, the relative arrangements, mathematic expressions and numeral values of the components and steps set forth in these embodiments are not intended to limit the protection scope of the present invention.
The technologies, methods and devices already known by those ordinary skilled in the related art may not be discussed in detail, but when in appropriate cases, these technologies, methods and devices should be deemed to be a part of the granted specification.
In all the examples shown and discussed herein, any concrete values should be explained to be illustrative only, not to be limitation. Therefore, other examples of the exemplary embodiments may have different values.
In one embodiment, the Web server 200 may receive from the client 100 a request for constructing an iOS application and return corresponding construction service information to the client 100. The client 100 may transmit the construction request to the Web server 200 for example by access URL (Uniform Resource Locator). Web server 200 may return a corresponding construction service information to the client 100 via Webpage, wherein the construction service information may include at least construction list information, construction progress information, construction result information, new-built construction information and the like. The Web server 200 according to the returned input information by the client 100 based on the construction service information, may acquire a corresponding program code and modify configuration information of the program code. The corresponding program code may be pre-stored in the Web server 200. According to one embodiment, the input information may include at least construction name, code URL, construction type, version number, compilation certificate, compilation certificate keyword and the like, in which the construction type may includes an enterprise edition construction and an AppStore construction.
According to one embodiment, Web server 200 may further compile, sign and package the program code according to the modified configuration information, and backup the packaged program code. The Web server 200 may for example backup the packaged program code to the code library. After the packaged program code is backuped, the Web server 200 may transmit to the client 100 a prompting information of the completion of the iOS application construction, and may for example provide the client 100 by the code library with the downloadable packaged program code. The packaged program code may for example be IPA packet.
The Web server 200 is further described below with respect to
In one embodiment, the receiving module 201 is configured for receiving from the client 100 a request for constructing an iOS application and input information returned by the client 100 based on the construction service information, in which the received request and input information may be stored in a database. The task generating module 202 is configured for generating a new construction task according to the input information. The new construction task may be also stored in the database for task scheduling. The task processing module 203 is configured for acquiring a corresponding program code according to the construction task, and modifying the configuration information of the program code. After the modifying, the task processing module 203 may further invoke a compiler according to the construction task and sign a packager so as to compile, sign and package the program code, and may backup the packaged program code while modifying status of the construction task to completion. The sending module 204 is configured for returning to the client 100 corresponding construction service information, transmitting prompting information of the completion of the iOS application construction, and providing the client 100 with the downloadable packaged program code.
Further, according to another embodiment, if there exists a plurality of Web server 200-1, 200-2, . . . 200-n (n is a natural number, and collectively referred to as Web server 200), the Web server 200 further comprises a task scheduling module 205 for assigning the generated construction task to Web server(s) in an idle status among the plurality of Web servers.
The method 3000 of implementing iOS application automatic compilation is described in detail below with respect to
According to one embodiment, in step S301, at least one Web server 200 may according to a request received from a client 100 for constructing an iOS application, return to the client 100 corresponding construction service information so as to enable the client 100 to return input information based on the construction service information. In step S302, the Web server 200 may according to the returned input information, acquire a corresponding program code and modify configuration information of the program code, the corresponding program code being pre-stored in the Web server 200. The Web server 200 may generates a new construction task(s) according to the returned input information from the client 100, and acquire a corresponding program code according to the construction task and modify the configuration information of the program code. And then, in step S303, the Web server 200 may package the program code according to the modified configuration information, and backup the packaged program code. The Web server 200 may compile and sign the program code according to the construction task, package the compiled and signed program code, then backup the packaged program code while modifying status of the construction task to completion. In step S304, the Web server 200 may transmit to the client 100 prompting information of the completion of the iOS application construction, and provide the client 100 with the downloadable packaged program code.
Further, according to another embodiment, if there exists a plurality of Web server 200-1, 200-2, . . . 200-n (n is a natural number, and collectively referred to as Web server 200), then after generating a new construction task and before acquiring a corresponding program code according to the construction task, the Web server 200 may further assign the generated construction task to Web server(s) in an idle status among the plurality of Web servers.
The present disclosure also provides one or more computer readable medium embedded with computer executable instructions. When executed by the computer, the instructions execute a method of implementing iOS application automatic compilation, comprising: according to a request received from a client for constructing an iOS application, returning, by at least one Web server, to the client corresponding construction service information so as to enable the client to return input information based on the construction service information; according to the returned input information, acquiring, by the Web server, a corresponding program code and modifying configuration information of the program code, the corresponding program code being pre-stored in the Web server; packaging, by the Web server, the program code according to the modified configuration information, and backuping the packaged program code; and transmitting, by the Web server, to the client a prompting information of the completion of the iOS application construction, and providing the client with the downloadable packaged program code.
The present disclosure also provides a computer including one or more computer readable medium embedded with computer executable instructions. When executed by the computer, the instructions execute a secure communication authentication method in a distributed environment.
The computing device such as those described herein have hardware, including one or more processor or processing unit, system storage or computer readable medium in some form. By way of example and no limitation, the computer readable medium includes the computer storage medium and communication medium. The computer storage medium includes volatile and nonvolatile, removable and unremovable medium implemented by using any method and technologies for storing information such as computer readable instruction, data structure, program module or other data. The communication medium is generally embodied with computer readable instruction, data structure, program module or other data by using modulated data signal by such as carriers or other transmission mechanism and so on, and includes any information transport medium. Any of the combinations of the above-described medium also fall within the scope of the computer readable medium.
The computer can use one or more remote computers, such as logics of the remote computer are connected in the networked environment to operate. Although the present invention is described with respect to the exemplary computing system environment, the respective embodiments of the present invention can be used in numerous other general or private computing system environments or configurations. The computing system environments are not intended to set any limitation to the application range or functions of any aspects of the present invention. Further, the computer environment should not be construed as there existing any dependence on or requirement of any components or their combinations as shown in the exemplary operation environment. Examples of the well known computing system, environment and/or configuration suitable for respective aspects of the present invention include but not limit to personable computer, server computer, handheld or laptop device, multiprocessor system, microprocessor-based system, set-top box, programmable consumer electronic products, mobile telephone, network PC, micro-computer, macro-computer, the distributed computing environment including anyone of the systems or devices as indicated above, and the like.
The embodiments of the present invention can be described in the general context of the computer executable instructions executed on one or more computing devices such as program modules. The computer executable instructions can be organized as one or more computer executable components or modules by the software. Generally, program modules include but not limit to routines, program, object, component, and data structure performing certain task or implementing specific abstract data type. The aspects of the present invention can be implemented by using any number of such components or modules or their organizations. For example, the aspects of the present invention is not limited to the specific computer executable instructions or specific components or modules as shown in figures and described herein. Other embodiments of the present invention may include different computer executable instructions or components with functions more or less than functions as shown and described herein. The aspects of the present invention can be implemented in the distributed computing environment in which tasks are performed by the remote processing device via communication network links. In the distributed computing environment, the program modules can be located in the local and remote computer storage medium including memory storages.
Those skilled in the art should understand that the descriptions of the method and system of the present invention are not limited to the embodiments such as the specific embodiments disclosed herein. The above descriptions have been presented for purposes of illustration of the present invention, but are not intended to limit the present invention in any way. Other implementations derived from technical solutions of the present invention by those skilled in the art also fall within the scope of the inventive and novel technologies according to the present invention. The protection scope of the present invention is defined by the following claims and equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
201310400030.7 | Sep 2013 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2013/086817 | 11/11/2013 | WO | 00 |