iOS开发framework时,多个framework之间的访问

iOS开发framework时,多个framework之间的访问

[TOC]

前言

当我们开发framework时,在同时将多个自定义framework引入项目,framework如果想要达到之间相互访问(比如frameworkA想要访问frameworkB中的HelloWorld.h),需要进行设置,否则会出现无法找到对应头文件的问题,常用于framework的模块化开发,当我们自己负责的模块需要引用公有模块时,可如此进行paths的设置

使用方法

1. 添加framework search路径

settings中添加framework Search Paths参数$(PROJECT_DIR)/$(PROJECT_NAME)

参数名 说明
$(PROJECT_DIR) 项目文件夹的相对路径
$(PROJECT_NAME) 项目名
image.png

注:$(PROJECT_DIR)/$(PROJECT_NAME)的路径设置生效前提是我们将多个framework引入项目。这样我们设置了路径的framework就能够访问项目路径下的其他framework

image.png

2. 使用__has_include进行动态判断

由于不确定要引用的framework是否存在,使用__has_include进行动态判断避免编译失败

#if __has_include("FrameworkOne/FrameworkOne.h")
    #import "FrameworkOne/FrameworkOne.h"
#else
#endif

注:相关的方法调用也应进行__has_include判断

推荐阅读更多精彩内容

  • 原博地址 :http://ios.jobbole.com/81583/ 本篇主要是根据对制作完整版的项目作为SDK...
    盖世英雄_ix4n04阅读 2,094评论 0 5
  • .a /.framework /.bundle 理解与使用 前言: 为了防止世界被破坏,为了维护宇宙的和平,遂决定...
    IThai阅读 534评论 0 1
  • 转载请注明出处:http://www.jianshu.com/p/04a7e28f11b9作者:纪小衰 frame...
    纪小衰阅读 6,211评论 3 16
  • 仅以方便自己查阅记录前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗...
    190CM阅读 2,997评论 0 4
  • 大四了! 这四年有过后悔吗?想想…… 一直以来我都极少后悔自己做过的决定,经历的一切 高中开始,我就信仰顺其自然,...
    霞女子阅读 173评论 0 1
  • 一、NSOperationNSOperation 和 NSOperationQueue 实现多线程的具体步骤:程序...
    heart_领阅读 285评论 0 0
  • 小朵陪姐姐过暑假,天天睡觉不安稳,各种被姐姐吵醒,到这也无法阻拦小朵一颗爱姐姐的心,姐姐到哪里,眼睛就跟到哪里,各...
    幕芷阅读 154评论 0 1