Xcode项目依赖

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'
    end
    
    target :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'
      end
      
      target :SecondProject do
          xcodeproj 'SecondProject/SecondProject'
          pod 'Masonry', '0.6.4'
          pod 'ReactiveCocoa','2.5'   #library中使用工程中必须添加,否在报错"_OBJC_CLASS_$", referenced from:
      end
      
      
      target :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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值