Mac/iOS 自动化打包

jackyan 发布于 7月前 | 更新于 7月前
无人欣赏。

对于app的发包,通常都是通过xcode进行Build-Archive-Export,生成最后的.ipa文件。 我们也可以通过在终端使用xcodebuild命令行来进行打包。以下是xcodebuild 可以使用的命令:

xcodebuild [-project <projectname>] [[-target <targetname>]...|-alltargets] [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings] [<buildsetting>=<value>]... [<buildaction>]...
       xcodebuild [-project <projectname>] -scheme <schemeName> [-destination <destinationspecifier>]... [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings] [<buildsetting>=<value>]... [<buildaction>]...
       xcodebuild -workspace <workspacename> -scheme <schemeName> [-destination <destinationspecifier>]... [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings] [<buildsetting>=<value>]... [<buildaction>]...
       xcodebuild -version [-sdk [<sdkfullpath>|<sdkname>] [<infoitem>] ]
       xcodebuild -list [[-project <projectname>]|[-workspace <workspacename>]] [-json]
       xcodebuild -showsdks
       xcodebuild -exportArchive -archivePath <xcarchivepath> -exportPath <destinationpath> -exportOptionsPlist <plistpath>
       xcodebuild -exportLocalizations -localizationPath <path> -project <projectname> [-exportLanguage <targetlanguage>...]
       xcodebuild -importLocalizations -localizationPath <path> -project <projectname>

-project NAME                       build the project NAME
-target NAME                        build the target NAME
-alltargets                         build all targets
-workspace NAME                     build the workspace NAME
-scheme NAME                        build the scheme NAME
-configuration NAME                 use the build configuration NAME for building each target
-xcconfig PATH                      apply the build settings defined in the file at PATH as overrides
-arch ARCH                          build each target for the architecture ARCH; this will override architectures defined in the project
-sdk SDK                            use SDK as the name or path of the base SDK when building the project
-toolchain NAME                     use the toolchain with identifier or name NAME
-destination DESTINATIONSPECIFIER   use the destination described by DESTINATIONSPECIFIER (a comma-separated set of key=value pairs describing the destination to use)
-destination-timeout TIMEOUT        wait for TIMEOUT seconds while searching for the destination device
-parallelizeTargets                 build independent targets in parallel
-jobs NUMBER                        specify the maximum number of concurrent build operations
-dry-run                            do everything except actually running the commands
-quiet                              do not print any output except for warnings and errors
-hideShellScriptEnvironment         don't show shell script environment variables in build log
-showsdks                           display a compact list of the installed SDKs
-showBuildSettings                  display a list of build settings and values
-list                               lists the targets and configurations in a project, or the schemes in a workspace
-find-executable NAME               display the full path to executable NAME in the provided SDK and toolchain
-find-library NAME                  display the full path to library NAME in the provided SDK and toolchain
-version                            display the version of Xcode; with -sdk will display info about one or all installed SDKs
-enableAddressSanitizer YES|NO      turn the address sanitizer on or off
-enableThreadSanitizer YES|NO       turn the thread sanitizer on or off
-resultBundlePath PATH              specifies the directory where a result bundle describing what occurred will be placed
-derivedDataPath PATH               specifies the directory where build products and other derived data will go
-archivePath PATH                   specifies the directory where any created archives will be placed, or the archive that should be exported
-exportArchive                      specifies that an archive should be exported
-exportOptionsPlist PATH            specifies a path to a plist file that configures archive exporting
-enableCodeCoverage YES|NO          turn code coverage on or off when testing
-exportPath PATH                    specifies the destination for the product exported from an archive
-skipUnavailableActions             specifies that scheme actions that cannot be performed should be skipped instead of causing a failure
-exportLocalizations                exports completed and outstanding project localizations
-importLocalizations                imports localizations for a project, assuming any necessary localized resources have been created in Xcode
-localizationPath                   specifies a path to XLIFF localization files
-exportLanguage                     specifies multiple optional ISO 639-1 languages included in a localization export
-xctestrun                          specifies a path to a test run specification
-only-testing:TEST-IDENTIFIER       constrains testing by specifying tests to include, and excluding other tests
-skip-testing:TEST-IDENTIFIER       constrains testing by specifying tests to exclude, but including other tests
-json                               output as JSON (note: -json implies -quiet)

最近闲来有空,对xcodebuild命令行进行了封装,试着做了一个自动化打包的工具。项目代码github地址:https://github.com/5566/QikPackage 供大家参考。

暂无回复
登录 或者 注册