zoukankan      html  css  js  c++  java
  • xcodebuild使用

    转自:https://www.jianshu.com/p/88d9f2e57004

    流程
    • build
    • archive
    • IPA
    • teamid

    xcodebuild命令简单使用

    前提准备证书并熟悉xcodebuild介绍,以及官方文档

    • xcodebuild -showsdks查看可用的SDK
    • xcodebuild -list查看项目全部的targets,schemes和configurations

    使用xcodebuild clean [-optionName]...清除编译过程生成文件

    xcodebuild clean -workspace XXX.xcworkspace -scheme XXX -configuration Debug -sdk iphoneos9.3
    
    
    命令 说明
    -workspace NAME 指定工作空间文件XXX.xcworkspace
    -scheme NAME 指定构建工程名称
    -configuration [Debug/Release] 选择Debug或者Release构建
    -sdk NAME 指定编译时使用的SDK

    使用xcodebuild build [-optionName]...编译命令介绍(该命令结构适用于工作空间[workspace]编译)

    xcodebuild build -workspace XXX.xcworkspace -scheme XXX -configuration Debug -sdk iphoneos9.3
    
    
    命令 说明
    -workspace NAME 指定工作空间文件XXX.xcworkspace
    -scheme NAME 指定构建工程名称
    -configuration [Debug/Release] 选择Debug或者Release构建
    -sdk NAME 指定编译时使用的SDK

    编译并生成.xcarchive包xcodebuild archive [-optionName]...

    xcodebuild archive -archivePath /Users/UserName/Desktop/App/archive/XXX -workspace XXX.xcworkspace -scheme XXX -configuration Debug -sdk iphoneos9.3
    
    

    xcodebuild archive -archivePath /Users/wangyanan/Desktop/App -workspace  SmallFlagLoan.xcworkspace -scheme SmallFlagLoan -configuration Debug -sdk iphoneos12.2
    
    

    xcodebuild archive -archivePath /Users/wangyanan/Desktop/App -workspace  SmallFlagLoan.xcworkspace -scheme SmallFlagLoan -configuration Debug -sdk iphoneos12.2 PROVISIONING_PROFILE=87e7a906-476e-489d-b61f-1cfbf28ba9e1 DEVELOPMENT_TEAM=C3SZ9K6446
    
    
    
    命令 说明
    -archivePath PATH 保存生成.xcarchive包路径
    -workspace NAME 指定工作空间文件XXX.xcworkspace
    -scheme NAME 指定构建工程名称
    -configuration [Debug/Release] 选择Debug或者Release构建
    -sdk NAME 指定编译时使用的SDK

    .archive包导出ipa文件xcodebuild -exportArchive [-optionName]...

    xcodebuild -exportArchive -archivePath /Users/UserName/Desktop/App/archive/XXX.xcarchive -exportPath /Users/UserName/Desktop/App/ipa/ -exportOptionsPlist /Users/UserName/Desktop/App/XXX.plist
    
    
    测试命令
    xcodebuild -exportArchive -archivePath /Users/wangyanan/Desktop/App.xcarchive -exportPath /Users/wangyanan/Desktop/ipa/ -exportOptionsPlist /Users/wangyanan/Desktop/Info.plist
    
    
    命令 说明
    -archivePath 选择要导出的.xcarchive包路径
    -exportPath 导出ipa保存目录
    -exportOptionsPlist 导出过程中需要的配置文件路径

    配置文件简单说明,需要更多的配置文件说明请看官方文档

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>teamID</key>
        <string>88888*****</string>
        <key>method</key>
        <string>app-store</string>
    </dict>
    </plist>
    
    
    配置文件key 配置文件value
    teamID 选择相对应得证书ID
    method 导出ipa包类型:[app-store, ad-hoc, package, enterprise, development, developer-id]

    参考


    附录A:xcodebuild命令官方说明
    附录B:Python打包脚本

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import os
    import time
    
    #******************需要手动填写***********************
    #工作空间
    workspaceName="XXX" + ".xcworkspace"
    #构建工程
    schemeNames={"XXX","XXX","XXX"}
    #***************************************************
    
    #获取当前时间并格式化
    dateTime=time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime());
    
    #获取当前目录路径
    workspaceDirPath=os.getcwd()
    #获取当前桌面路径
    desktopPath=os.path.join(os.path.expanduser("~"), 'Desktop')
    desktopPath2=os.path.expanduser("~/Desktop")
    
    #最后生成基础目录
    basePath=desktopPath+"/App"+dateTime
    #archivePath目录
    archivePath=basePath+"/archive"
    if os.path.exists(archivePath)==False:
        os.makedirs(archivePath)
    #exportPath目录
    exportPath=basePath+"/ipa"
    if os.path.exists(exportPath)==False:
        os.makedirs(exportPath)
    
    for schemeName in schemeNames:
        #print(schemeName)
    
        #编译版本信息
        sdkName="iphoneos9.3" #真机编译根据mac当前安装的SKD填写,不知道当前安装的是什么SDK版本使用xcodebuild -showsdks命令查看
        configurationName="Debug" #debug版本[Debug|Release],使用xcodebuild -list查看configuration支持的类型
    
        #BaseCommand
        baseCommand=" -workspace "+workspaceName+" -scheme "+schemeName+" -configuration "+configurationName+" -sdk "+sdkName
        #清除编译的app
        xcodebuild_clean="xcodebuild clean"+baseCommand
        #查看项目全部的targets,schemes和configurations
        xcodebuild_list="xcodebuild -list"
        #编译
        xcodebuild_build="xcodebuild build"+baseCommand
        #查看全部的SDK
        xcodebuild_showsdks="xcodebuild -showsdks"
    
        #archivePath命令
        archivePathOption=" -archivePath "+archivePath+"/"+schemeName
        #exportPath命令
        exportPathOption=" -exportPath "+exportPath+"/"
        #指定exportOptionsPlist文件路径
        exportOptionsPlistOption=" -exportOptionsPlist "+workspaceDirPath+"/BuildAllApp.plist"
        #编译并生成.archive包
        xcodebuild_archive="xcodebuild archive"+archivePathOption+baseCommand
        #.archive包导出ipa包
        xcodebuild_exportArchive="xcodebuild -exportArchive"+archivePathOption+".xcarchive"+exportPathOption+exportOptionsPlistOption
    
        os.system(xcodebuild_clean)
        #os.system(xcodebuild_list)
        #os.system(xcodebuild_showsdks)
        #os.system(xcodebuild_build)
        os.system(xcodebuild_archive)
        os.system(xcodebuild_exportArchive)
    
        #forend
    
  • 相关阅读:
    https://和http://区别
    选择排序法
    冒泡排序法-----一点也不简单喔
    hadoop启动后没有datanode怎么办
    洛谷 1379 八数码难题
    Floyd 算法详解
    datagridview 点击列标题排序
    Python【每日一问】05
    Python【每日一问】04
    Python【每日一问】03
  • 原文地址:https://www.cnblogs.com/guligei/p/11991417.html
Copyright © 2011-2022 走看看