重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
下载安装好xcode5后,我们就可以开始ios开发之旅了。首先打开xcode。选择新建一个xcode项目。
成都创新互联公司自2013年起,是专业互联网技术服务公司,拥有项目成都网站制作、成都做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元大武口做网站,已为上家服务,为大武口各地企业和个人服务,联系电话:18980820575
新建一个单窗体的程序。
只需要简单的设置一下项目的名称,开发程序使用的设备,可以看到有ipad iphone等。
创建好项目后,可以看到xcode给我们自动生成了目录结构和简单的配置文件。
先不做什么修改,来运行一下这个项目程序。点击xcode左上角的运行按钮。可以看到现在只是一个空白的程序,编译运行后自动会调出ios模拟器。现在在程序界面当中加一个label标签来显示helloworld。选择项目目录下面Main.stroyboard,鼠标单击后,可以看到屏幕中间出现了一个空白的界面,这就是运行程序时的主界面。现在从xcode右侧的工具栏中拖一个label标签到界面中央。现在就可以修改label的文字,比如改称hello world!在点击运行,看看运行后的效果吧,
每个iOS开发者都是被折翼过翅膀的天使,都曾被证书配置折磨的痛苦不止,好不容易学会了手动管理证书,结果苹果霸霸来了一个Automatically manage signing,又会陷入一圈的懵逼中,还真是不让我们轻松,下面跟着我来将“充满雾霾”的身心放空,不埋怨,不抱怨,毕竟苹果霸霸也是好意嘛!接下来,让这篇文章带你理解自动配置证书如轻拂过额头的一缕清风一般,吹过就驱散了你心中的“雾霾”。
到此,我想你已经能够理解Xcode自动管理证书的过程了,如果还不够理解,建议 静下心 来再看一遍保证其意自现!
1:自动管理证书的原则是根据你创建的APP ID来匹配证书和配置文件,也可以理解成根据你的Bundle ID来匹配,比较手动管理还是方便很多,同时也不易出错,理解证书的管理过程让你在配置的时候轻松一笑面对,不再打错配置文件的包,不再混淆证书配置之间的关系,这点还是非常重要的,你要理解证书配置的来龙去脉,而不是每次配置好后自己仍不知所以然,虽然成功了,但是难免出错。
2:如果你发现Xcode自动配置的APP ID不是你想要的配置文件时候,因为你一个APP ID可以对应多个配置文件,所以它虽然APP ID是对的,配置文件不一定对,这个时候,你去文件夹删除所有配置文件,然后再配置就可以了!
我是Qinz,希望我的文章对你有帮助。
当安装多个xcode的版本,使用该工具使用指定的版本。
-p 或者 --print-path 查看当前开发者目录,也即是xcode的版本目录。print the path of the active developer directory
-s path 或 --switch path 选择xcode的版本
--install 安装
--version 查看版本
--reset 恢复默认
sudo rm -rf /Library/Developer/CommandLineTools 强制删除安装目录下的文件
是管理Fat File的工具, 可以查看cpu架构, 提取特定架构,整合和拆分库文件。
Mac OS X下二进制可执行文件的动态链接库是dylib文件。所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。
Linux下用 ldd 查看,苹果系统用 otool 。
otool命令介绍
MobSF
Mach-O 文件格式解析
xcodebuild :通过工程文件,生成app文件。
xcrun :通过app文件,来生成ipa文件(包含了签名的过程)。
通过app文件生成ipa文件
libtool是一个通用库支持脚本(/usr/bin/libtool),将使用动态库的复杂性隐藏在统一、可移植的接口中。
可以在不同平台上创建并调用动态库,我们可以认为libtool是gcc的一个抽象,也就是说,它包装了gcc或者其他的任何编译器,用户无需知道细节, 只要告诉libtool说我需要要编译哪些库即可,并且,它只与libtool文件打交道,例如lo、la为后缀的文件。
libtool工具的使用
库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。
详细命令参见, 菜鸟网络-ar命令
可以用来创建、修改库,也可以从库中提出单个模块。
lipo libAFNetworking.a -thin arm64 -output lib-arm64.a 生成Arm64包
ar -t lib-arm64.a 输出包含的.o文件 和 otool -L libAFNetworking.a 一样。
ar -x lib-arm64.a 解压出包里面的.o文件
在iOS开发中,常常用来分析二进制和静态库文件。
列出 .o .a .so 中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。
iOS开发中,可以用来查看.a静态库所有打包进去的.o文件和函数接口信息,帮助我们定位崩溃信息。
例如: nm -u libAFNetworking.a 列出某个.o文件的接口信息。
二进制查看命令,将文件显示为16进制字符串表示形式。
例如: xxd libYTKNetwork.a | grep "net" 查看YTKNetwork.a文件里面包含net字符串的,帮助我们分析一些二进制文件。
DWARF文件初探——提取轻量符号表
Mac系统下lipo, ar, nm等工具的使用简介
美团 iOS 工程 zsource 命令背后的那些事儿
Linux工具参考篇
iOS 静态库冲突 两个不同的.o 文件冲突 ,静态库分离
[img]ios开发语言是Objective-C,用的开发工具是Xcode。
ios系统的开发语言Objective-C语言,是一种面向对象的编程语言,那也就是C语言的扩充语言,也就是说在c的基础上升级的语言,那么如果是开发的人员的角度来说,如果懂得C语言,那么在做Objective-C开发或者是学习就非常方便,那么目前Objective-C语言主要是用于Mac OS X和GNUstep这两个使用OpenStep标准的系统上。
Xcode开发工具从诞生到现在已经有28个版本了,那么Xcode是苹果公司向开发人员提供一种在ios基础开发的一种基础开发环境工具,最初也基于mac操作系统下,那么也就是说,做苹果相关产品的应用开发,几乎都是苹果公司提供的Xcode开发工具。
扩展资料:
苹果公司一直在尝试降低Objective-C语言的复杂度淘汰手动内存管理以及C标准头文件,引入更符合当下编程语言潮流的ARC机制,还有通过.语法来访问属性的getter/setter方法等等,都是为了降低Objective-C的学习难度。即便如此,学习Objective-C仍然需要克服学习门槛。它的热度完全是由基于Objective-C编写的热门iOS应用带起来。
Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由Apple Inc开发。Xcode是开发 macOS 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。
Xcode同时也是一种语言,作为一种基于XML的语言,Xcode可以设想各种使用场景。它提供了一种独立于工具的可扩展的方法来描述编译时组件的各个方面。
参考资料来源:百度百科-xcode
参考资料来源:百度百科-Objective-C
iOS脚本自动化打包方案--xcodebuild
本文主要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,谢谢!
如脚本打包执行遇到问题可留言沟通!