iOS 手动做一个自动打包部署神器

之前使用的fastlane添加pgyer自动打包的,最近发现更新总是有问题,所以产生了自己shell做一个的想法。虽然代码比较少,但是很实用。

  • 打包
  • 导出ipa
  • 上传pgyer

打包自动上传pgyer

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

proName='your project name'

proURL="your project path"#like /Users/Jerry/Desktop/ios_afu

api_key=''#pgyer api_key

configuration='Debug' #Release 

(){

path=${proURL}/${proName}/${proName}/Info.plist

number=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${path}")

BundleVersion=$(( $number + 1 ))

/usr/libexec/PlistBuddy -c "Set CFBundleVersion $BundleVersion" "${path}"

}

#打包

arch(){

echo '开始编译Pods'

xcodebuild -project Pods/Pods.xcodeproj build

echo '开始编译project'

xcodebuild -archivePath "./build/${proName}.xcarchive" -workspace $proName.xcworkspace -sdk iphoneos -scheme $proName -configuration $configuration archive

autoPlus

}

#导出ipa

exportIPA(){

echo '开始导出ipa'

xcodebuild -exportArchive -archivePath "./build/${proName}.xcarchive" -exportPath './app' -exportOptionsPlist './ExportOptions.plist'

}

#上传ipa到蒲公英

upload(){

if [ -e "${proURL}/app/${proName}.ipa" ]

then

echo '开始上传ipa/apk到蒲公英'

curl -F "[email protected]${proURL}/app/${proName}.ipa" -F "_api_key=${api_key}" 'http://www.pgyer.com/apiv2/app/upload'

else

echo "在目录:${proURL}/app/${proName}.ipa 不存在"

fi

}

startarch(){

arch

if (($? == 0))

then

echo 'archive success??'

startExportIPA

else

echo 'archive faild?'

fi

}

startExportIPA(){

exportIPA

if(($? == 0))

then

echo 'exportIPA success????'

大专栏  iOS 手动做一个自动打包部署神器ass="line">        startUPLoadIPA

else

echo 'exportIPA faild ?'

fi

}

startUPLoadIPA(){

upload

if(($? == 0))

then

echo 'uploadIPA success'

else

echo 'uploadIPA faild ?'

fi

}

if (($# == 0))

#then

#    startarch

#elif (($# == 1))

then

while :

do

echo '??????***********************??????'

echo  "输入 1 到 4 之间的数字:"

echo  "输入 1:从编译打包开始至结束"

echo  "输入 2:从导出IPA开始至结束"

echo  "输入 3:从上传ipa开始至结束"

echo  "输入 4:退出"

read a

case $a in

1)startarch

break;;

2)startExportIPA

break;;

3)startUPLoadIPA

break;;

4) break;;

esac

done

fi

将该文件和plis拖到project目录下,然后配置
plis文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
<?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>compileBitcode</key>

<false/>

<key>method</key>

<string>ad-hoc</string>

<key>provisioningProfiles</key>

<dict>

<key>your bundle id</key>

<string>your .mobileprovsion</string>

</dict>

<key>signingCertificate</key>

<string>iPhone Distribution</string>

<key>signingStyle</key>

<string>manual</string>

<key>stripSwiftSymbols</key>

<true/>

<key>teamID</key>

<string>your_team_id</string>

<key>thinning</key>

<string>&lt;none&gt;</string>

</dict>

</plist>

下载setup.sh拖到项目文件夹内,然后
运行./setup.sh,即可完成上传到pgyer网站。
具体的配置属性见源码下载页面。
查看源码

```

原文地址:https://www.cnblogs.com/liuzhongrong/p/12262786.html

时间: 2024-08-11 00:36:43

iOS 手动做一个自动打包部署神器的相关文章

(Android+IOS)正在做一个新闻App,做的差不多了,听听大家的建议 (图)

(Android+IOS)正在做一个新闻App,做的差不多了,听听大家的建议! 新闻采集器做好了,前端展示APP界面感觉还不是很好,还需要改进改进,希望发布(Android和IOS版本)前听听大家的建议! 新闻采集器做好了,前端展示APP界面感觉还不是很好,还需要改进改进,希望发布前听听大家的建议!

Mockplus原型交互跟我做之1 - 30秒做一个自动消失的消息框(Toast)

从现在做,跟我一起来认识Mockplus的交互. Mockplus的交互,非常简单.直观.容易上手.你所需要做的,只是拖一拖鼠标,然后几步设置而已. 当然,只要你愿意,还可以实现强大的交互效果. 不废话,先来做一个,试试. 我们来做一个自动消失的消息框(Toast). 请看视频:

Docker环境搭建Jenkins+gitlab+maven自动打包 部署容器

宿主机安装docker(省略) 宿主机安装maven 下载二进制包解压到/var/docker_data/jenkins/jenkins_home下面 https://maven.apache.org/download.cgi Jenkins镜像安装 下载Jenkins镜像(一般都是Ubuntu版) FROM jenkins USER root #清除了基础镜像设置的源,切换成腾讯云的jessie源 #使用非腾讯云环境的需要将 tencentyun 改为 aliyun RUN echo '' >

jenkins自动打包部署项目

首先去jenkins的官网下载安装包 https://jenkins.io/ 个人下载是长期稳定的那个版本,下载后,得到一个.msi的安装包: 点击进行安装,然后一直点击下一步. jenkins会自动占用8080端口,如果这个端口不希望被jenkins占用,可以去文件夹里的这个文件进行修改: 修改后,需要去服务里面进行jenkins的重启: 在打开浏览器界面的时候,会有一步提示输入密码,上面有一个路径,可以去那个文件里面找到对应的password:复制,粘贴到输入框内,然后开始下一步,最后面是安

C#手动做一个负载均衡服务器

思路 负载均衡服务器最出名的当数 Nginx了.Nginx服务器通过异步的方式把连接转发给内网和N个服务器,用来分解单台应用服务器的压力,了解了原理及场景后,用C#来实现一个.思路如下: 1. 使用一个站点的 Application_BeginRequest 来接收连接,转发连接. 2. 对各类静态资源做单独处理,(可转可不转) 3. 可以转发Get,Post,异步转发. 4. 对指定的请求,转发到同一台服务器,保持使用者的登录状态. 实现 Vs2015建一个Mvc建站: localhost:1

[转]用Python做一个自动生成读表代码的小脚本

写在开始(本片文章不是写给小白的,至少你应该知道一些常识!) 大家在Unity开发中,肯定会把一些数据放到配置文件中,尤其是大一点的项目,每次开发一个新功能的时候,都要重复的写那些读表代码.非常烦.来个实用小工具,大家随便看看. 1 #-*- coding: utf-8 -*- 2 #----------------------------------------------------------# 3 # 版本:python-3.5.0a3-amd64 4 # 功能:生成读表代码文件 5 #

windows环境下jenkins+gradle+Android 自动打包部署

第一步,搭建jenkins环境 1.安装下载jenkins jenkins运行依赖Java开发环境,安装jenkins前,先安装好JDK,并配置好环境变量 进入jenkins 的官网 https://jenkins.io/ , 根据搭建平台的不同下载,我使用的是 windows 平台 2.配置 Jenkins 安装完成后,在浏览器中访问 : http://localhost:8080/, 你将会看到如下界面 ,然后开始配置 Jenkins. 3.Jenkins 插件安装和超级管理员配置 填写完密

maven项目自动打包部署到tomcat中

1. 在eclipse配置tomcat,部署路径设置为tomcat的webapps目录下. 2.修改tomcat-users.xml <!-- Tomcat 6.x 系列-->  <role rolename="manager"/> <user password="admin" roles="manager" username="admin"/> <!-- Tomcat 7.x 系列-

jenkins jar、html的自动打包部署插件

https://blog.csdn.net/a11101171/article/details/47145747 https://www.cnblogs.com/naniandongzhi/p/8032258.html http://www.21yunwei.com/archives/4351 https://www.cnblogs.com/ganbo/p/7794281.html https://www.cnblogs.com/Alex-qiu/p/7845626.html https://w