Xcode项目依赖
来源:互联网 发布:差分方程matlab编程 编辑:程序博客网 时间:2024/06/05 22:45
Demo地址
一、 我们用一个Podfile文件管理多个项目的第三方库
1、首先在ProjectRelyDemo文件夹下创建我们的第一个主项目
2、使用CocoaPods管理第三方库(假设你已安装过Cocoapods)
- 在终端中切换到FirstProject目录,执行
pod init
,会在该目录下生产Podfile文件。 - 应用我们要用cocoapods管理workspace下所有的project和library,多以我们要把Podfile文件移动到ProjectRelyDemo目录下。
在执行pod install之前,我们先配置Podfile文件如下
platform :ios, '7.0' #忽略所有警告 inhibit_all_warnings! #指定workspace名称,没有则生成新的 路径是相对于Podfile路径(同下) workspace 'ProjectRelyDemo.xcworkspace' #配置默认的xcodeproj xcodeproj 'FirstProject/FirstProject' pod 'Masonry', '0.6.4'
执行
pod install
xcode目录如下
文件目录如下
3、添加第二个主项目
- 在xcode的左下角点击加号,选择
New Project..
,创建SecondProject
-注意选择的是workspace,而不是某一个project,pods,library
4、使用同一个Podfile文件管理两个项目
配置podfile文件内容一下
platform :ios, '7.0' #忽略所有警告inhibit_all_warnings! #指定workspace名称,没有则生成新的 路径是相对于Podfile路径(同下)workspace 'ProjectRelyDemo.xcworkspace' #配置默认的xcodeproj 路径是相对于Podfile路径xcodeproj 'FirstProject/FirstProject'target :FirstProject do xcodeproj 'FirstProject/FirstProject' pod 'Masonry', '0.6.4'endtarget :SecondProject do xcodeproj 'SecondProject/SecondProject' pod 'Masonry', '0.6.4' pod 'ReactiveCocoa','2.5'end
- 执行
pod install
:CocoaPods did not set the base configuration of your project 有这样的警告
解决方案:http://www.bubuko.com/infodetail-975930.html - 编译出现
ld: library not found for -lPods
错误
解决方案:对应项目 选择target-build Phases-Link Binaray With Libraries 删除 libPods.a(这是pod install上一次生产的,在多个项目时,则是libPods-FirstProject.a这样对应项目的名字)
至此我们的项目结构如下,第一步完成
二、 加入共享的 Business_lib
- 在Xcode中点击左下角的加号,选择New Project…,选择ios-Framework&Library- Cocoa Touch Static Librarys
给FirstProject添加Business_lib依赖(三步走)(SecondProject类比)
- 1、target-FirstProject-Build Phases- Target Dependencies 点击加号 选择Business_lib
- 2、Build Phases- Link Binary With Libraries 点击加号 选择libBusiness_lib.a
- 3、Build Settings-Header Search paths 添加
"${SRCROOT}/../Business_lib"
- Business_lib使用第三方库,配置Podfile文件内容如下
platform :ios, '7.0' #忽略所有警告inhibit_all_warnings! #指定workspace名称,没有则生成新的 路径是相对于Podfile路径(同下)workspace 'ProjectRelyDemo.xcworkspace' #配置默认的xcodeproj 路径是相对于Podfile路径xcodeproj 'FirstProject/FirstProject'target :FirstProject do xcodeproj 'FirstProject/FirstProject' pod 'Masonry', '0.6.4' pod 'ReactiveCocoa','2.5'endtarget :SecondProject do xcodeproj 'SecondProject/SecondProject' pod 'Masonry', '0.6.4' pod 'ReactiveCocoa','2.5' #library中使用工程中必须添加,否在报错"_OBJC_CLASS_$", referenced from:endtarget :Business_lib do xcodeproj 'Business_lib/Business_lib' pod 'ReactiveCocoa','2.5'end
至此我们的项目结构如下,第二步完成
三、 添加不涉及业务的Base_lib
- 创建方式 同Business_lib,给Business_lib添加Base_lib的依赖也同上
不同之处在于 :只在FirstProject -build Settings-Header Search Path添加”${SRCROOT}/../Base_lib”,另外Build Phases的配置无需执行
至此我们的项目结构如下,第三步完成
相关知识点
Xcode 的一些环境变量
SRCROOT :~/WorkSpace/Demo/PojectRelyDemo/FistProject
SRCROOT 代表项目根目录下PROJECT_DIR:~/WorkSpace/Demo/PojectRelyDemo/FistProject
PROJECT_DIR 代表项目所在路径
即:SRCROOT宏和PROJECT_DIR宏都指xxx.xcodeproj所在的父目录
Demo地址
0 0
- xcode 项目依赖
- Xcode项目依赖
- xcode没必要手动连接项目依赖的framework
- Xcode工程依赖
- Xcode工程依赖
- Xcode工程依赖
- Xcode工程依赖
- Xcode 添加依赖工程
- 项目依赖
- xcode项目依赖_基于一个工作空间不同工程的分层
- 设置Xcode的依赖编译
- C++项目依赖项
- 关于项目依赖
- maven 项目依赖管理
- visual studio 项目依赖
- VS2013 添加依赖项目
- maven 项目依赖管理
- Android eclipse 项目依赖
- STL与泛型编程<九>:迭代器相关辅助函数
- spring3 struts2 利用aop在actioin层捕获异常
- PHP为什么慢?
- Cannot delete or update a parent row
- HDU 3177 Crixalis's Equipment(很巧妙的贪心)
- Xcode项目依赖
- An unexpected error prevented the server from fulfilling your request. (HTTP 500)
- Gallery的整体架构
- Android ORM应用开发框架KJFrameForAndroid使用详解
- BZOJ 3612 HEOI2014 大工程 树链剖分求LCA的优越
- UILable,UIButton字体加粗
- 乱码终极解决大全
- Android初试--Android中的ContentProvider(3)
- httpd.conf配置后php7,出现apache无法启动的现象