Xcode自动打包

作者: iOS雯Ping | 来源:发表于2018-03-31 21:04 被阅读168次

    xcodebuild 是苹果官方提供的 Xcode 项目和工作空间(workspace)编译工具,是 Xcode 自带的非图形化命令行编译工具。

    常用打包方式

    Product ——>Archive ——>Upload to AppStore / Export

    自动打包流程

    目前xcode9已经可以自己创建管理证书了,所以在流程中省略了证书及描述文件配置

    1.自动化打包脚本

    #!/bin/sh

    #需要接受3个参数 1、scheme名 2、工程目录 3、工程名字

    #project目录PROJECT_PATH=$1

    #project名称

    PROJECT_NAME=$2

    #scheme名称SCHEME_NAME=$3

    #现在时间(做文件夹名称使用)DATE=`date +%Y%m%d%H%M`

    #归档文件地址

    ARCHIVE_PATH=$PROJECT_PATH/$DATE/$SCHEME_NAME

    #通过archive归档出对应的xcarchive文件

    #对应步骤:

    #1、清理工程

    #2、归档工程

    #3、工程名称

    #4、设置工程Scheme

    #5、设置Debug或者Release模式

    #6、归档输出地址

    #7、特殊设置,可忽略,为了让过程更清晰

    xcodebuild clean \

    archive \

    -project"$PROJECT_PATH/$PROJECT_NAME"\

    -scheme"$SCHEME_NAME"\

    -configuration"Release"\

    -archivePath"$ARCHIVE_PATH"\

    | xcprettyecho"--------------------------------------"

    #通过归档文件打包出对应的ipa文件#对应步骤:

    #1、打包命令

    #2、归档文件地址

    #3、ipa输出地址

    #4、ipa打包设置文件地址xcodebuild -exportArchive \

    -archivePath"$ARCHIVE_PATH.xcarchive"\

    -exportPath"$PROJECT_PATH/$DATE"\-exportOptionsPlist"$PROJECT_PATH/

    ExportOptions.plist"open$PROJECT_PATH

    前排提示:需要确保工程在没使用脚本的情况下也可以成功的进行归档与打包,脚本只是为了简化过程

    2.将Archive文件夹中的文件拖入项目的根目录下

    3.修改脚本中的一下基本配置(项目名称、debug模式等)

    4.cd到工程根目录,通过./shell.sh 执行脚本

    5.end

    过程图解

    下面用导出ipa包的过程举个例子,appstore和fir大同小异。

    打开shell.sh脚本文件,修改相关配置。

    ⚠️:当我们在窗口中对xcode进行操作时,Xcode内部是执行了xcodebuild命令,脚本打包原理其实就是将xcodebuild命令统一放到一个脚本文件中,运行这个脚本文件,执行一系列操作。

    xcodebuild 命令的使用

    在 CI 方面,这个命令的用途显得格外中套,当然,你也可以使用 xcrun 或者 xctool,本文仅简单记录 xcodebuild 的常规使用。

    1.查看可用的SDK

    xcodebuild -showsdks

    2.查看项目全部的targets,schemes和configurations

    xcodebuild -list

    3.清除编译过程生成文件

    xcodebuildclean-workspaceXXX.xcworkspace-schemeXXX-configurationDebug-sdkiphoneos9.3

    4.编译工程

    xcodebuildbuild-workspaceXXX.xcworkspace-schemeXXX-configurationDebug-sdkiphoneos9.3

    例:xcodebuildbuild-workspaceAFNetworking.xcworkspace-schemeAFNetworking\iOS-configurationDebug-sdkiphoneos11.2

    ( 其实作为一个开发者有一个学习的氛围跟一个交流圈子特别重要,这是我的一个iOS交流群687528266,不管是小白还是大牛都欢迎入驻,大家一起交流成长! )

    相关文章

      网友评论

        本文标题:Xcode自动打包

        本文链接:https://www.haomeiwen.com/subject/khjncftx.html