iOS 打包.a文件的那些事儿

    前段时间研究了一下怎么制作.a文件,踩了不少坑,特别是Cocoapods打静态库的包,坑了好久好久,其中遇到的很多坑不太记得了,把记得的顺便记一下。第一次写这种文章,有什么错误,请各位多多批评指正。

Cocoapods打静态库的包

1、打开终端,cd desktop

2、pod lib create RtcLib 创建打包工程

3、桌面会出现一个RtcLib的工程文件,终端上会要你回答几个问题,比如:名字,邮件,使用什么语言开发,包不包含测试demo等等

4、回答完问题会自动打开项目,

目录结构如此,打开里面的podspec配置文件,进行配置

    我大概就是这样配置的,name,version,summary就是工程名,版本和简单描述。homepage是说工程主页的地址,有github地址的可以填自己github上的地址,貌似也可以不用改,我没改,好像也没出多大问题。但是一定要改s.source的地址,可以改成github上项目的地址,没有的话可以像我一样,改到电脑桌面,还有deployment_target的版本,我是支持到了7.0,你们任意。

s.source_files,我看了相关文档,是放类库的源文件的s.resource_bundles 表示资源文件存放目录;s.frameworks 表示类库依赖的framework;s.dependency 表示依赖的第三方类库;但是我一直没搞懂,s.public_header_files难道不是暴露头文件的么,但是我一直暴露不出去,反正打出来的包,header里面就是空的。。。。我也不知道发生了什么。

    配置文件改好之后,进入example,pod install,在这里我就踩了我的第一个坑,我的pod的版本之前一直没有更新,所以一直报一些莫名其妙的错,所以,把pod更新到1.0.1。还有,淘宝的源已经换了哦,在原来的http后加个s,ok!然后,又报错,说libjingle_peerconnection里含有libWebRtc.a静态库,哈哈,搞得我莫名其妙的,在stackoverflow上找到了解决的办法,进入工程把podfile里第一行的use_frameworks去掉,然后pod install,就成功了。记得如果有添加自己的类,一定要写在这里,替代ReplaceMe.m就好了。

5、提交源码并打上标签

cd  你的工程目录

git add .

git commit -m '0.1.0'

git tag -a 0.1.0 -m '0.1.0'

然后再验证。之前我没操作这步,结果报错,warning:counld not find remote branch 0.1.0 to clone fatal:Remote branch 0.1.0 not found in upstream origin fatal:The remote end hung up unexpectedly  .然后,我就把homepage的地址换到了本地,加上了这一步就没有报错了。其中还遇到一个问题,因为电脑上装了几个Xcode,报错:unable to add a source with url 'https://github.com/cocoapods/specs.git' named 'master-1'.you can try adding it manually in '~/.cocoapods/respos' or via 'pod repo add'好像是因为装了几个Xcode导致路径变了,$sudo Xcode-select-switch 把Xcode拖到这,就ok了。

6、pod lib lint xxx.podspec 验证总是通不过,报静态库的错误,于是用了一个这样的命令,pod lib lint --use-libraries --allow-warnings --verbose,验证就通过了

7、安装一个打包的插件,sudo gem install cocoa pods-packager

8、打包命令,pod packager xxx.podspec --library -force,生成.a库,去掉library,生成framework库。

9、打包完之后,会发现原来的工程下多了一个文件,里面就含了你打包成功的.a或者framework。但是有一个很大的问题,我打包成功的文件导入我的demo中,一直用不了,还有,还是不知道怎么暴露项目中的自己的和第三方库的.h文件,希望有人能解答吧

第二种打包的方式:手动打包

为了这个手动打包,我也是挺不容易的,把原来含有cocoapods的项目,死拉硬拽的去掉了Cocoapods,把别人的代码变成了自己的,开始报了一百多个错误,我蒙掉了,但是,码代码这行,真的,有时候得有点耐心,我仔细看看错误,也没那么难解决,基本上就是少了一些系统库啥的。废话不多说

1、创建static Library,新建->project,选择static Library。

2、把EtmRTS的所有类拖入打包工程

3、在build phases下面修改一些东西

compile Sources:放工程的.m文件,这些文件会打入静态库中

Link Binary with Libraries:需要链接的库文件,这里可以将你需要的引用的库文件放入,会打入到静态库中。当你把所有类拖入该工程的时候,libWebRTC.a会自动被放入该目录下,一定要移除,否则会报错。

Copy Files:把要共享给外部的.h文件放在该目录下

4、在Build Settings里,将Archiectures里添加armv7s

5、模拟器运行时,product->Scheme->Edit Scheme->debug,command+B,点击finder,得到include和一个.a文件,真机运行时,product->Scheme->Edit Scheme->release,同样得到include和一个.a文件。

6.lipo –info xxx.a检查.a文件的支持的指令集

7、合并两个.a文件,lipo –create将两个.a文件依次拖至此–output路径,生成.a文件

例如lipo –create xxx.axxx.a-output/Users/xxx/desktop/xxx.a

注意:如果第三方库含有静态库打进去报错,就不要强行打进去了。ok,暂时就整理到这,还有一些问题是真的不记得了,也不知道当时是怎么解决的了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容