在iOS应用开发中,随着开发 的深入,项目的规范也越来越高,为了更加方便的管理自定义静态库与pods之间的联系,我们通常会在在当前的项目工程文件中引入静态库或者其他工程,并与CocoaPods配合使用.
在说具体操作前 我们先了解一下这种开发方式的好处
批注:
-
在开发中我们经常会有一些用的比较多的技术,比如一些帮助类,一些好的技术封装等等。这样在开发新项目时,就可以把这个工程引入进来,要用里面的功能时就可以直接使用,不用找这个工程copy下,那个工程copy下,最后找不到了就更头疼。只要我们维护好这个静态库工程,以后开发就会省事不少。
-
其次,现在多工程联编已经是企业级应用的必备了,不但可以灵活的应用自己的静态库,也能随时的更新pods提供的三方库,让项目管理起来非常的方便,所以如果你想进一步的深入开发,多工程联编是你必须掌握的技能
项目步骤如下:
1.首先创建一个静态库(或者使用自己已有的静态库)
注:下面演示中命名为UitilityCore
2.创建一个项目工程
注:下面演示中命名为YiDuShiCaiJing
特别注意:将两个工程最好放在同一个文件夹路径下
3.书写Podfile文件(这一步非常关键,格式或者路径错误会非常麻烦)
在Podfile文件里面按照下面的模板来配置
3.1这边简单提一下CocoaPods 指令
在当前工程文件(.xcodeproj)所在文件夹下,打开terminal
1.创建Podfile:
touch Podfile
2.加载Podfile:
pod install
3.更新Podfile:
pod update
附 pod install 加载慢问题
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
4.执行pod install(请确保路径正确,如有错误请看第2条的特别注意)
执行成功之后我的目录是这样的
5.将自定义的静态库引入到主工程目录中去
- 首先在Build Phases/Link Binary with Libraries中自定义的静态库添加进来。
添加完成后我的是这样的。
-
下一步就是将静态库的目录引用进来,在主工程的Target/Build Settings /User Header SearchPaths中添加 $(BUILT_PRODUCTS_DIR)并且选择递归引用 也就是选择(recursive)。
网友评论
像此文章所述,当YiDuShiCaiJing007的target为YiDuShiCaiJing打包生成的.ipa文件,该ipa文件中只有UitilityCore的静态库(libUitilityCore.a)及静态库的头文件,请问UitilityCore的.m文件是否被YiDuShiCaiJing编译到.ipa包中
还是会报,not find 静态库中的文件。但是替换为“../UitilityCore/UitilityCore” 就ok了 不知道博主用 $(BUILT_PRODUCTS_DIR)是怎么编译通过的