ios 脚本打包ipa

参考 伯乐在线-Toyun  敲一下enter键,完成iOS的打包工作
地址:http://ios.jobbole.com/84677/ 
注:仅仅对Toyun 的脚本增加几个变量。只用来记录,工作分享和参考原文打包过程中遇到的问题
原文的<,>被转成"&lt; 和&gt"  
以下就是脚本内容:
#! /bin/bash

# 传入这次的版本号

version_string="xxxx"

# build号 

build_number="xxxx"

#产品名字

projectName="xxxx"

#产品下载地址

ipa_downUrl="https://xxx_$version_string.ipa"

#产品bundleID

projectBundleID="com.xxx.xxxx"

# 打包项目名字

scheme_name=xxxxxx

# 工程环境路径

workspace_path=~/xxxx

# 打包使用的证书

CODE_SIGN_IDENTITY="xxxxxxx"

# 打包使用的描述文件 这描述文件的名字不是自己命名的那个名字,而是对应的8b11ac11-xxxx-xxxx-xxxx-b022665db452这个名字

PROVISIONING_PROFILE="xxxxxx"

# 指定.app的输出位置 也就是Demo中build文件夹的位置

build_path=~/Desktop/appOutSide

# 指定.ipa的输出位置

ipa_path=~/Desktop/appOutSide

# info.plist文件的位置

info_plist=xxxInfo.plist

# 下面是读取.plist文件的位置然后修改版本号和build号,这点没有使用xcodebuild提供的命令,在上面也有叙述

# 修改版本号

/usr/libexec/PlistBuddy -c"Set :CFBundleShortVersionString$version_string"${info_plist}

# 修改build号

/usr/libexec/PlistBuddy -c"Set :CFBundleVersion$build_number"${info_plist}

# 生成.app, 在build_path路径下面

xcodebuild -workspace${workspace_path}.xcworkspace -scheme${scheme_name}-configuration Release clean -sdk iphoneos build CODE_SIGN_IDENTITY="${CODE_SIGN_IDENTITY}"PROVISIONING_PROFILE="${PROVISIONING_PROFILE}"SYMROOT="${build_path}"

# 生成yeemiao.ipa, 在ipa_path路径下面

xcrun -sdk iphoneos -v PackageApplication${build_path}/Release-iphoneos/XDJMallStandard.app -o${ipa_path}/XDJMallStandard_${version_string}.ipa

# itms-services协议需要使用的.plist文件的位置 生成的位置

plist_path=~/Desktop/appOutSide/xxxxx_${version_string}.plist

# 生成plist文件  在替换对应的路径中替换为你们的路径(xml格式上传后有点不齐全,可以参考原文,注意"<,>被转成"< 和>"")

cat<<EOF> $plist_path

items

assets

kind

software-package

url

${ipa_downUrl}

metadata

bundle-identifier

$projectBundleID

bundle-version

$build_number

kind

software

title

$projectName

EOF

# .ipa文件的位置

ipa_file_path=~/Desktop/appOutSide/xxxxx_${version_string}.ipa

# .plist文件的位置

plist_file_path=~/Desktop/appOutSide/xxxxx_${version_string}.plist

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 本文转自CaryaLiu's Blog。 本文最终实现的是使用脚本打 Ad-hoc 包,并发布测试,当然稍微修改一...
    M_Baron阅读 1,035评论 1 0
  • #!/bin/bash #$1表示第一个参数 PROJECTPATH="$1" build_configurati...
    biggerworld阅读 414评论 0 0
  • 背景 新项目这边每次版本移交, 给测试都是直接xcode挨个拿手机安装的流程. 一次两次还好,天天这么搞,而且每次...
    全力以赴打酱油阅读 1,605评论 0 4
  • 一个苏格兰人去伦敦,想顺便探望一位老朋友,在半路上才想起来,已经忘记了他的详细住址。 于是,这个苏格兰人给远在家乡...
    斯麦尔阅读 202评论 0 5