扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
iOS脚本自动化打包方案--xcodebuild
成都创新互联公司专注于企业全网整合营销推广、网站重做改版、武安网站定制设计、自适应品牌网站建设、HTML5建站、商城建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为武安等各大城市提供网站开发制作服务。
本文主要xcodebuild脚本自动化打包并上传到蒲公英或者AppStore,废话不多说,直接上干货!
先了解一下xcodebuild打包需要的一些指令
-workspace XXX.xcworkspace
XXX.xcworkspace需要编译工程的工作空间名称,如果工程不是.xcworkspace的,可以不需要-workspace XXX.xcworkspace这段话
-scheme XXX
XXX是工程名称,-scheme XXX是指定构建工程的名称
-configuration Release
填入打包的方式是Debug或Release,就跟在Xcode中编译前需要在Edit scheme的Build configuration中选择打出来的包是Debug还是Release包一样,-configuration就是配置编译的Build configuration
-archivePath ./myArchivePath
配置生成.xcarchive的路径, ./表示生成在当前目录下,myArchivePath是生成的.Archive文件名称
ODE_SIGN_IDENTITY=证书
配置打包的指定证书,如果该工程的Xcode已经配置好了证书,那么不加入这段话也可以,打包出来的证书就是Xcode中配置好的。
PROVISIONING_PROFILE=描述文件UUID
配置打包的描述文件,同上,Xcode已经配置好了就不用在填入这段话了
CONFIGURATION_BUILD_DIR
配置编译文件的输出路径,如果需要用到.xcarchive文件内部的dSYM等文件,可以使用改字段指定输出路径。
如果工程是勾选了Automatically manage signing,那么就不用在配置ODE_SIGN_IDENTITY和PROVISIONING_PROFILE,今天这里讲到的Automatically manage signing自动配置证书,手动配置的就不多说了,有兴趣的话可以自己研究。
xcode工程配置自动获取证书,如下图:
打包所需要文件
配置打包的ExportOptions.plist文件,可以在任意一个Xcode工程中新建一个ExportOptions.plist文件。dev和adHoc和AppStore的配置文件内容不一样,可以先手动打包后看下plist文件的样式,这里提供一个样例:
这里method对应的value为打包对应的环境,有development、ad-hoc、app-store、enterprise根据打包环境来配置不同的值
编译脚本命令
xcodebuild archive -workspace XXX.xcworkspace -scheme XXX -configuration Release -archivePath ./myArchivePath CONFIGURATION_BUILD_DIR ./dir ODE_SIGN_IDENTITY=证书 PROVISIONING_PROFILE=描述文件UUID
导出ipa包命令
xcodebuild -exportArchive -archivePath ./myArchivePath.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath ./out
-archivePath ./myArchivePath.xcarchive指定需要打包的.xcarchive路径,./myArchivePath.xcarchive表示在当前终端路径下的myArchivePath.xcarchive文件
-exportOptionsPlist ./ExportOptions.plist指定打包需要的ExportOptions.plist配置文件路径
-exportPath ./out指定打包输出的路径, ./out表示打包结果输出在终端的当前路径下的out文件家中。如果没有out文件夹会自动创建一个
脚本操作
首先:cd到需要自动打包的工程下
然后:在终端中输入touch xcodebuild.sh创建xcodebuild.sh脚本文件
然后:双击打开脚本写入下面 脚本内容(请确保所有版本的plist配置文件都写好了)
最后:在终端中输入./xcodebuild.sh运行脚本,按照步骤完成打包选择(如果运行的时候出现Permission denied,请先在终端中执行chmod a+x *.文件的后缀名后,在运行,相当于提高脚本文件的权限)
脚本内容
此脚本包含了自动上传蒲公英的选择操作,根据输入指令来执行具体操作
脚本实现
具体详细脚本见GitHub地址: 如果好用记得给star,谢谢!
如脚本打包执行遇到问题可留言沟通!
iOS开发包含的内容有:语言:objective-c,swift,设计模式:mvc,数据库:sqlite coredata(一套api),操作系统:mac库:太多了,ASI,AFN,FMDB这种大多数都会用到 github一搜一大把,很多不用自己写,多人协作:svn,git,经常要用github git是必须会的,其他通用知识:http,socket等等,至于工具,一上来整这么多没意义,你得会做点东西才用得上工具是不是。有需求就会去分析去找解决方案。比如你发现xcode的文件结构是虚拟的,建了文件夹磁盘上没有,很不好管理,那你就会去找解决方法,然后发现synx就可以解决这个问题。工具是这样搜索,用起来的。iOS开发者有价值的工具集 前人也是总结了不少。然后一般写iOS的UI有三种方式。xib,Storyboard以及代码创建。我觉得代码是效率最高也最厉害的;关于iPad和iPhone如果要适配的话是不大好的,最好设计两种UI。不同意,代码确实是最厉害的,但不是效率最高的,对个人而言,autolayout sizeclass绝对是storyboard更有效率,点两下的事情代码几十行(当然基本都是自动补全,我还是嫌多),适配问题有了sizeclass也只需要一套UI了。但为什么说个人而言,因为企业一般因为团队协作问题不喜欢用storyboard,容易发生冲突,所以代码,IB都得会,什么适合用什么。
blockquote
一、Xcode-archive(苹果推荐方式) --- (推荐)
二、iTunes拖入
三、全自动编译脚本 --- (推荐)
四、通过已有.app,编译脚本自动生成ipa包
五、通过已有.app,手动压缩改后缀方式
/blockquote
/br
blockquote
** 一、Xcode-archive(苹果推荐方式)(推荐)**
/blockquote
blockquote
** 二、iTunes拖入**
/blockquote
blockquote
三、全自动编译脚本
/blockquote
blockquote
四、通过已有.app,编译脚本自动生成ipa包
/blockquote
5.将要转化的.app文件放到distribute/文件夹下
这时的文件夹目录结构是这样的:(注意,脚本中所有appName请先替换成你的真正app名称)
6: 运行distribute.sh脚本
打开Terminal,cd到distribute文件夹下,把distribute.sh拉到terminal中执行。如果提示permission denied,则用“chmod 777 distribute.sh”命令赋予权限后,再执行一次distribute.sh。
7: 大约若干秒后,会在distribute/文件夹下生成appName/文件夹,里面的appName.ipa就是我们想要的包。
blockquote
** 五、通过已有.app,手动压缩改后缀方式**
/blockquote
br /
参考资料:
——————————— 【 MadeBy 纪宝宝 】 ———————————
软件开发工具包(缩写:SDK,英语全称:Software Development Kit),一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
在OC的开发中,我们涉及到的一般是静态库(.a)或者动态库(.framework)。(注:不是所有的.framework就一定是动态库)
.a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。 .a文件不能直接使用,至少要有.h文件配合(微信的SDK就是这种形式),.framework文件可以直接使用。 .a + .h + sourceFile = .framework。 建议用.framework。再者 静态方式开发,一直是iOS SDK开发的主流方式。
终端输出为:armv7 arm64 是真机架构;i386 x86_64 是模拟器架构。
终端输出为:arm64 是真机架构;x86_64 是模拟器架构。
Bundle 和 其他的SDK都要和创建的SDK放在同一个文件夹,然后拖入要使用的项目中,如果该项目中的SDK和创建的SDK中的引用的SDK重复,那么就只要保持存在一个就好了。
iOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。下面是我收集整理的ios开发用Charles进行抓包的方法,欢迎阅读。
ios开发用Charles进行抓包的方法
首先,我们可以去一些网站下载安装一下这个软件。安装完毕后, 我们能看到这个漂亮的青花瓷。
现在,我们需要将我们的电脑配置成手机的.代理服务器,这样才能让我们的 MAC 顺利的拦截到手机软件的网络接口。我们先看一下自己的电脑ip。
在系统偏好设置 -- 网络 -- 查看当前 IP。
然后我们来配置一下手机网络设置,前提是你要确保你的手机和你的电脑在同一个局域网中。打开手机无线网的配置。就是点击这个图标。
接着,我们就看到配置页面啦,找到到代理这个栏目,选择“手动”,在服务器一项,填写刚才查看的电脑的ip,这里就是10.930.93.115,端口添加8888,然后返回就行了。
接着,我们在电脑上打开 Charles。然后配置一下,主要是配置端口,按照图示点击。
然后,在弹出框中找到端口,输入8888,和你手机输入的端口号保持一致。
到这里,配置就完成了。现在你可以打开你的手机进行上网,这是会看到Charles 在刷刷的显示数据,并在右侧面板中以黄色字体显示出来。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流