制作开源库的Framework和初步使用github上传代码
一、首先介绍如何把自己的代码或者是三方开源库打包成framework(注:当然已经有前辈分享过了,这是自己学习做的笔记~~)
1、先介绍一下什么是framework以及制作framework的好处
SDWebImage类库制作 首先介绍一下什么是framework: framework是资源的集合,将静态库(ios8以后可以是动态库)和其头文件包含到一个结构中,让XCode可以方便的把它纳入到你的项目中。 分为真机-Debug(调试)版本、真机-Release(发布)版本、模拟器-Debug版本、模拟器-Release版本;开发中一般都打包Release(发布版本),将真机和模拟器合并,提供给外界。 在项目开发过程中,例如两个公司之间业务交流,不可能把源代码都发送给另外一个公司,这时候将私密的内容打包成framework,别人只能调用接口,而不能知道其中实现的细节。 framework对CPU架构的支持,首先了解ios设备cpu架构方面的知识,ARM是微处理器行业的一家知名企业,ARM处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有的手机都是使用他的: 模拟器:iphone4s-5:i386, iphone5s-6splus:x86——64 真机:iphone3gs-4s:armv7, iphone5-5c:armv7s iphone5s-6splus:arm64 armv7、armv7s是ARM CPU的不同指令集,原则是向下兼容的,例如iphone4sCPU支持armv7,但它同时兼容armv6,只是使用armv6指令可能无法充分发挥它的特性。
进入实践:
1、打开自己的Xcode新建一个framework工程:
2、修改一些配置信息,生成所有架构的版本
3、将之前写好的控件的源文件(还可以是三方开源库这里的例子是以流行的三方开源SDWebImage)拖进工程,并做一些配置,主要是需要把那些头文件即接口开放出来。
4、cmd+b编译分别生成模拟器和真机的framework
5、找到生成的framework合并为真机和模拟器都能调试资源包
7、打开终端证实一下模拟器和真机的不同版本
8、生成通用版本替换之前的老版本
9、新建项目引入就可以应用了
二、下面讲解怎么上传到github
需要的工具
1.安装Githttp://git-scm.com/download/mac
2.终端 (自带的,我用的是终端具体git的命令可以上网查询)
操作流程
1.GitHub 上注册账号https://github.com/去这上面注册下就行。
2.配置SSH key
①defaults write com.apple.finder AppleShowAllFiles -bool true终端 显示隐藏文件(需要重新运行Finder)。
② 点击桌面顶部菜单 前往>个人 看看自己电脑上有没有个 .ssh 的隐藏文件,有的话个人建议删除,新建个。
③mkdir .ssh终端新建个 .ssh文件
④cd .ssh进入到刚才新建的.ssh文件目录下
⑤ssh-Keygen -t rsa -C "your_email@example.com"后面“ ”里面 随意输入个邮箱就行,回车会提示你输入密码什么的,可以无视一直回车下去。
⑥ls -la查看是否存在 id_rsa(私钥) id_rsa.pub(公钥) 这两个东西,如果存在就成功了。
⑦pbcopy < ~/.ssh/id_rsa.pub拷贝 公钥
⑧ 进入GitHub登入 。创建一个项目。如图4 - 图6 所示 添加你刚才生成的SSH Key 到GitHub上,也就是最后一张图的 Add SSH Key 点击 会让你输入秘钥 以及秘钥的名称。 秘钥pbcopy < ~/.ssh/id_rsa.pub这个终端命令就已经复制过了 直接command + V 粘贴上去就行,秘钥名称随意。
⑨ssh -T git@github.com新添加到github上的秘钥左边的点一开始是灰色的,终端执行这个命令后,刷新网页会看到灰色点变成了绿色。
3.在GitHub 上创建公开项目 。
4. 上传本地项目到GitHub。
① 在电脑上新建个项目文件夹 。
②cd + 刚才新建的项目文件夹路径
③git clone + GitHub 上创建的项目地址(GitHub 上创建的项目地址如下图所示)这样你在GitHub 上创建的项目就克隆下来了
④cd + 克隆下来的项目路径(如何在终端输入路径,可以直接把你想要知道路径的文件夹拖到终端里 这样自动就要该文件夹的路径了)
⑤git init(git 仓库的初始化)
⑥git add .(这里注意:add 空格 再加 .)
⑦git status(查看add 成功没)
⑧git commit -m "描述"(“ ” 引号里面输入你的描述 随意)
⑨git push origin master(最后push到GitHub上)
文/_李布斯(简书作者)
原文链接:
http://www.jianshu.com/p/9c918d96f941
http://www.jianshu.com/p/6c033c39884a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。