使用Pods和自定义静态库实现多工程联编

字数607 阅读112 评论0 喜欢0

近来随着公司项目开发的深入,项目的规范也就越来越高了,为了更加方便的管理自定义静态库与pods之间的联系,好好的研究了一番。

1.首先就是创建一个静态库,命名为Mark(这个随便你自己怎么定义)。

2.创建一个实例工程,(也就是你需要开发的工程 或者是你已经创建好了的)。

3.书写pod file文件。(非常关键,因为格式有时候会造成很多的坑)

workspace ‘MarkSpace’//需要生成workspace的名称

xcodeproj ‘Mark/Mark.xcodeproj'//静态库的名称

xcodeproj ‘MarkDemo/MarkDemo.xcodeproj'//实例工程名称

target :Mark do//静态库需要引入的三方库

platform :ios, '7.0'

pod 'AFNetworking'

xcodeproj ‘Mark/Mark.xcodeproj'

end

target :MarkDemo do//实例工程需要引入的三方库

platform :ios, '7.0'

pod 'AFNetworking'

xcodeproj ‘MarkDemo/MarkDemo.xcodeproj'

end

4.0执行pod install。(确保你的podfile文件,静态工程文件,和你的demo在同一工程目录下)

执行成功之后我的目录是这样的。

5.将自定义的静态库引入到主工程目录中去。

首先在Build Phases/Link Binary with Libraries中自定义的静态库添加进来。添加完成后我的是这样的。

下一步就是将静态库的目录引用进来,在主工程的Target/Build Settings /User Header SearchPaths中添加$(BUILT_PRODUCTS_DIR),并且选择递归引用 也就是(recursive)。

好的。这样就大功告成了。你就可以随便的在工程中引用三方库和你自定义的静态库中的文件了。

结语:

现在多工程联编已经是企业级应用的必备了,不断可以灵活的应用自己的静态库,也能随时的更新pods提供的三方库,让项目管理起来非常的方便。

附:pod install 加载慢的问题

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动

原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update

出现[!] Unable to find a pod with name matching `Af' 错误时,解决方案如下:

http://stackoverflow.com/questions/21342574/cocoapods-error-to-install-search-pods

使用Pods和自定义静态库实现多工程联编的更多相关文章

  1. 多工程联编的Pods如何设置

    多工程联编的Pods如何设置 (2014-07-17 13:57:10) 转载▼ 标签: 联编 多工程 分类: iOS开发 如今,CocoaPods使用越来越多,几乎每个项目都会使用到.有时候我们的项 ...

  2. libpomelo 增加编译静态库cocos2d-x xcode 工程

    离 https://github.com/NetEase/libpomelo 下载最新版本.拉开拉链,静态库 ./pomelo_gyp -DTO=ios ./build_ios ./build_ios ...

  3. IOS开发----生成静态库(.a)

    由于iPhone控件的极度匮乏和自定义组件在重用上的限制,在过去的项目中我们积累了大量的“纯代码”组件——因为IB本身的限制,我们无法把这些组件封装为IB组件库(本来我们想通过分发xib文件的方式重用 ...

  4. ios中静态库的创建和使用、制作通用静态库(Cocoa Touch Static Library)

    创建静态库可能出于以下几个理由: 1.你想将工具类代码或者第三方插件快捷的分享给其他人而无需拷贝大量文件.2.你想让一些通用代码处于自己的掌控之下,以便于修复和升级.3.你想将库共享给其他人,但不想让 ...

  5. iOS开发中静态库之".framework静态库"的制作及使用篇

    iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...

  6. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  7. iOS XCode7制作.Framework动态库和.a静态库的总结

    一.开发SDK时的支持情况: OC语言制作动态库时,支持iOS8+:OC语言制作静态库,支持iOS7+. Swift语言制作动态库时,支持iOS8+;Swift不支持静态库. 对于SDK来说,支持情况 ...

  8. 【iOS】配置和使用静态库

    上一篇 我们演示了了如何创建自己的静态库,最终生成多个.a文件,根据需要引用工程就可以直接使用静态库了,但是有个很麻烦的问题,模拟器用的库和真机的不是同一个,当我们切换的时候需要更换静态库,有两种方式 ...

  9. 【iOS】编译静态库

    与java和.net一样,objc也由类库的概念,不过在在objc上一般叫库,库表示程序代码集合,可以共享给其他程序使用,库是编译后的二进制文件,因此不能看到源代码,多用于一些开放sdk(如百度地图s ...

随机推荐

  1. css为什么叫层叠样式表

    ------------------------------------------------------------------------------------ 层叠就是浏览器对多个样式来源进 ...

  2. 【Codeforces】383.DIV2

    昨天一场CF发挥不好.抽点时间总结一下,然后顺带算是做个题解. 第一题水题 第二题思路很清晰,大概十分钟就想出来规模100000明显复杂度最多nlog所以只能一遍loop然后里利用map统计得到后面的 ...

  3. ResGen.exe”已退出,代码为2 问题处理

    转载自  http://blog.sina.com.cn/s/blog_5f82a1060101d8tm.html 在64位的Windows 7下,用VS2010编译4.0以前的.Net项目会有问题. ...

  4. Puppeteer——自动化脚本设计

    我被分配了一个繁琐的任务,就是要给100个相同的站点做同样的配置.曾经就有做过相同的事,那时还不会写脚本,全靠手动配置.机械的配置了两天的时间,身体感觉被掏空.所以这次我决定还是写一个脚本自动的进行配 ...

  5. MonoBehaviour简述

    Unity中的脚本都是继承自MonoBehaviour. 一.基础函数: 创建脚本就默认的update.start方法:(这些官方的文档都是有的) Start:Update函数第一次运行前调用,一般用 ...

  6. Listview模板

    每次写listview都要翻以前的代码,好烦.所以记下模板,方便下次的使用. xml文件部分代码: <ListView android:id="@+id/listview" ...

  7. LAMP配置课程基础知识详解

    听了一天的课程,我本人对这个还是很感兴趣的. [root@localhost~]#     root 用户名 localhost 本地 ~  家目录 不同用户不同 #当前用户是管理员 $当前用户是普通 ...

  8. UICollectionView框架总结

    一.UIcollectionView介绍 1.1.简介 首先看苹果官方文档 UICollectionView Class Reference 的介绍: The UICollectionView cla ...

  9. [HNOI2004]宠物收养所 题解

    一杯茶,一包烟,一道水题调一天 题面 这题一眼看上去就是个裸板子对吧 本来以为要两棵splay,读了一下题发现店里只能有一种生物(人/宠物) 所以记录一下当前店里的状态就行了 老年手速20min过编译 ...

  10. CAD向控件注册一个命令(com接口VB语言)

    主要用到函数说明: MxDrawXCustomFunction::Mx_RegistUserCustomCommand 向控件注册一个命令,用户在命令行输入命令名这个字符串,就会触发执行命令事件 命令 ...