导入准备工作

1.建立一个Framework & Library->Cocoa Touch Static Library 取名A,并在A里新建一个类用来测试

2.建立一个demo工程B

3.把工程A整个文件夹复制到B工程文件夹里,位置随便选(只要你会添加头文件搜索路劲,如果不会,建议去另一篇教程学习http://blog.sina.com.cn/s/blog_877e9c3c0102v591.html)

4.打开A右键“Add Files To B”,选择B.xodeproj,不要选择Copy items if needed

设置工作

1.编译A的静态库

选择工程A,设备调为iOS Device,编译,会报错1.“CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1'”

解决办法:选择A工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iPhone Developer   (记住是选择project而不是target)

再编译,即可成功,这时候products里就出现了正常的A.a静态库

2.建立相关引用

B-Build Setting-Header Search Paths   (添加头文件搜索路劲)

B-Build Phases - Link Binary With Libraries 添加A.a

B-Build Phases - Target Dependencies 添加A工程依赖关系  (确保编译B的时候先编译A)

3.如果A里面有图片或者其他的依赖库

B-Build Phases - Copy Files添加对应的图片和依赖库

4.如果A里有category,使用category的时候会crash

B-Other Linker Flags 添加-Objc和-all_load确保category被正常引入

5.***打包注意事项

有依赖库的时候,Archive通常在organize里找不到项目或者没有version和identifier

要把依赖库A-Build Settings-Skip Install设置为YES,但项目BSkip Install设置为NO

另外依赖库还要做如下设置(借鉴)

将Build Phases->Copy Headers中的所有头文件拉到Project下,即Public和Private下不能有文件

清空Build Settings->Deployment->Installation Directory选项的内容

iOS多工程依赖的更多相关文章

  1. ios 添加工程依赖只能生成Generic Xcode Archive 文件原因

    问题说明:工程引用了外部类库, 默认生成的archive是 Generic Xcode Archive 格式的 无法发布和生成ipa文件. 解决处理: 1.将Build Settings->De ...

  2. iOS 使用.xcworkspace文件管理代码和工程依赖(实现项目模块化)

    一.创建xcworkspace文件. 在cocoapods安装后,项目文件里都会多一个后缀为.xcworkspace的文件.打开这个文件就相当打开最初创建的项目了.那么这个文件也就是用来管理项目的,它 ...

  3. 用CocoaPods做iOS程序的依赖管理(转摘)

    转摘自:http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ 文档更新说明 2012-1 ...

  4. 用CocoaPods做iOS程序的依赖管理

    CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的 ...

  5. iOS 用CocoaPods做iOS程序的依赖管理

    文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置 ruby 淘宝源相关内容 2014-05-25 v2.0 增加国内 spec 镜像.使用私有 pod.po ...

  6. 【转】用CocoaPods做iOS程序的依赖管理 -- 不错

    原文网址:http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ 文档更新说明 2012-12-02 ...

  7. unity导出工程导入到iOS原生工程中详细步骤

    一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢 ...

  8. ios 向工程里添加Fonts

    ios 向工程里添加Fonts 1.网上搜索字体文件(后缀名为.ttf,或.odf),假如你加入的字体为微软雅黑 2.把字体库导入到工程的resouce中 3.然后在你的工程的Info.plist文件 ...

  9. IOS的工程目录结构和生命周期

    IOS的工程目录结构和生命周期 ·simple table文件夹:工程相关源代码和配置文件 BIDAppDelegate :    委托的声明和实现 BIDViewController:    视图控 ...

随机推荐

  1. Java基础知识强化之网络编程笔记12:TCP之TCP协议上传文本文件并给出反馈

    1. 客户端: package cn.itcast_12; import java.io.BufferedReader; import java.io.BufferedWriter; import j ...

  2. fstat - 读取文件相关信息

    #fstat读取到的信息 ["dev"]=> int(16777220) ["ino"]=> int(66880002) ["mode&q ...

  3. centos中安装jdk方法

    RPM安装方法一: 1.检验系统原版本[root@zck ~]# java -versionjava version "1.6.0_24"OpenJDK Runtime Envir ...

  4. CentOS7 发布 ASP.NET MVC 4 --- mono 4.6.0 + jexus 5.8.1

    yum -y install gcc gcc-c++ yum -y install bison pkgconfig glib2-devel gettext make libpng-devel libj ...

  5. (转)fastdfs_v4.07 / 实现多服务器

    http://my.oschina.net/shking/blog/165326 自己闲着没事,在小黑上虚拟了 4 个 centos 64 的系统,用来安装分布式 fastdfs . nginx 负载 ...

  6. Matlab中plot、fplot、ezplot的使用方法和区别

    函数plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的.也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标; 常用格式为: (1)plot(x) 当x ...

  7. Windows服务定时运行,判断当前时间是否在配置时间段内

    /// <summary> /// 判断程序是否在设置运行时间内 /// </summary> /// <param name="startTime" ...

  8. session的介绍与简单使用

    cookie由浏览器带着,容易被篡改因为cookie很容易被篡改,所以cookie用来记住用户名,记住浏览历史等安全性要求不高的地方可以用sessin技术session技术将信息存入服务器,然后再给客 ...

  9. .net在Controller里的方法添加[HttpGet]和[HttpPost]

    前端用post过来,Controller就要用[HttpPost],前端用get,Controller就要用[HttpGet],或者不管前端用什么,Controller都不加这些. 前端用post $ ...

  10. java scoket (UDP通信模型)简易聊天室

    import java.net.DatagramPacket; import java.net.DatagramSocket; /** * 接收线程 * * @author xiaoduc * */ ...