iOS 在同一个workspace下跨项目文件的相互引用

发布时间:2019-06-16
技术:workspace+ cocoapods

概述

一. 在同一个workspace下创建多个项目 二. 工程中引入pod管理 三. 跨项目文件的相互引用

详细

一、在同一个workspace下创建多个项目


1.新建一个workspace工作空间:

11.png

 将创建的工作空间命名为“xxxx”, 然后将xxxx.xcworkspace保存到项目根目录文件夹(我这里新建项目的根目录为LGWorkspace)    


2.创建多个工程project:

22.png


创建一个Demo1项目:

33.png

将工程Demo1 添加到上一步创建的workspace中:

44.png

同理将工程Demo1 添加到上一步创建的workspace中,

注意:所有的多个项目与workspace要放在同一目录下

55.png

二、工程中引入pod管理

  1. 终端命令

// 进入项目目录
$cd + 项目根目录
// 创建 Podfile文件
$touch Podfile
// Podfile文件写完后,接着install
$pod install

Podfile文件注意点如下:

# 写在最上面,表示公用
platform :ios, '10.0'
# 用cocoapods导入OC框架到Swift项目必须写该项
# use_frameworks!
## workspace文件名
workspace 'LGWorkspace.xcworkspace'
## 主工程路径
project 'Demo1/Demo1.xcodeproj’
## 工程路径
target 'Demo1' do
project 'Demo1/Demo1.xcodeproj’
pod 'SVProgressHUD'
end
## 工程路径
target 'Demo2' do
project 'Demo2/Demo2.xcodeproj’
pod 'MJRefresh'
end
  1. 项目框架截图如下:

66.png

三、demo1和demo2文件的互相引用

    如果要在项目Demo1中引用Demo2中的文件,则必须要修改路径。在Demo1的Build Settings 里找到Header Search Paths,添加一项$(SRCROOT)/../Demo2(也可以直接将文件夹Demo2拖到里面自动生成路径),并且设置为recursive。$(SRCROOT)是当前的工程路径,.. 是返回上一层,然后到TestApp_2文件夹。使用了相对路径,为了是项目移动不会影响这个配置,只要主工程和其他工程的相对位置不变,这里的相对位置是固定在同一个文件夹。

      77.png

    引入工程中的文件时,必须同时引入 .h 和 .m 文件。测试结果:

88.png

当Demo1里其他地方也同时调用了Demo2里的方法,则只需要引入.h文件,否则编译失败。

99.png

在Demo2里再写一个方法,放在刚才的testFunc方法里调用:

100.png



本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
手机上随时阅读、收藏该文章 ?请扫下方二维码