Xcode配置_Search Paths

iOS SDK开发系列一之Cocoapods原理,Xcode的配置,动态库和静态库介绍 前言 三个月没写东西了,是时候总结点东西了。SDK这个东西开发其实和项目开发类似,但是项目中你不需要关注一些配置和打包的参数,或者你压根不需要关注Framework和.a到底是怎么链接配置的,因为Cocoapods或者你拖进Xcode已经帮你自动生成配置了,趁着周末这良辰美景,翻了几篇文章,做个总结和记录,文章不知道会分几篇,但是一片理论介绍,一篇Demo制作应该会有的,由于网上的Demo都是很简... 阅读详情


转自:http://www.jianshu.com/p/9f9c1fd2e8b5

  1. $(SRCROOT) / $(PROJECT_DIR) 基本没啥区别,都是指向*.xcodeproj所在的路径

开发的过程当中,导入第三方库(framework/.a/.dylib)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题。而导入第三方库后,这写库的路径应该现在在导入当前项目target的Search Paths中,具体的设置路径:target -> Build Settings -> Search Paths -> Framework Search Paths / Library Search Paths。

创建测试demo

创建测试项目的时候分别创建framwork和library的文件夹,从两种不同类型的第三方库,不同目录位置去测试。两个相关目录的位置示意图:


  • Frameworks 文件夹在*.xcodeproj项目文件的上次层目录中
  • ThirdLib 文件夹在*.xcodeproj同级目录下的XcodeForSearchPathTest目录中

注意: Frameworks文件夹在拖到项目中的时候,取消Copy items if needed 选项

导入第三方库

将自己创建好的测试库libzhenLib.a和zhenFW.framework分别导入项目当中对应得文件夹,后Search Paths 变化示意图:



从图中可以看出Library Search Paths中Xcode自动添加好库的路径,但是Framework Search Paths中没有任何的变化。编译项目之后,会有一个错误ld: framework no found zhenFW:



这个错误的原因是:zhenFW 已经导入到了项目当中,但是没有找到它的路径。通过猜想可以知道libzhenLib.a库没有报错并且Library Search Paths有它的库的路径,那么可能zhenFW报错的原因是Framework Search Paths中没有配置它的路径,下面咱们来配置它的路径来测试问题是否解决来验证我们的猜想的正确性。

配置zhenFW路径:首先点击Framework Search Paths展开添加路径的框,然后将zhenFW.framework拖拽到上面展开的框里面。拖入之后的示意图为:



拖到里面之后生成的路径为:"$(SRCROOT)/../Frameworks/zhenFW/zhenFW.framework",然后编译项目之后,还是报原先的错误。
报错原因:Framework Search Paths重点在Paths,是路径!但Xcode生成的路径是一个文件的路径,而不是目录的路径,将默认生成的修改为:"$(SRCROOT)/../Frameworks/zhenFW/",编译成功!

说明:

  • 正常导入库的时候Xcode会默认生成库的路径,但是有时候会没有生成,这时就需要差错,并且手动去解决、删除后重新导入以及查找该库的使用说明。
  • 如果在测试的时候,路径生成正常的话,可以自己手动删除一个来测试
  • 文件夹路径和文件路径的区别

Search Paths相关参数说明

  1. 导入库的时候自动生成的的路径:$(PROJECT_DIR)/XcodeForSeachPathTest/ThirdLib/zhenLib,手动拖拽的路径"$(SRCROOT)/../Frameworks/zhenFW/zhenFW.framework",很明显的区别是手动拖得有双引号,双引号的作用是如果在路径中有空格,可以识别该路径。没有双引号但是路径中有空格,我们发现它会自动变成两个路径。
  2. 路径中有空格必须要加双引号
  3. 多个路径可以用空格隔开,不用双引号包住
  4. $(SRCROOT) / $(PROJECT_DIR) 基本没啥区别,都是指向*.xcodeproj所在的路径
  5. 通过/..来调到上一层路径,返回上上层文件夹用/../..
  6. $(inherited) : target 的 Framework Search Paths添加$(inherited)参数会从PROJECT -> Build Settings -> Framework Search Paths里面的路径会被其继承,没有的话不会继承。所以一个项目里面有多个target,使用到了同一个库(Library或Framework)那么为了方便我们可以在target添加继承参数,并且PROJECT统一中添加库的路径。继承的优先级:

    • Platform defaults
    • Project file (描述举例用这个优先级,比较常用)
    • xcconfig file for the Project file
    • Target
    • xcconfig file for the Target
  7. recursive:遍历该目录,non-recursive:默认路径设置;不遍历该目录。如果路径的属性为recursive,那么编译的时候在找库的路径的时候,会遍历该目录下的所有子目录的库文件。PS:在搭建项目的时候,可以创建一个专门放库文件的文件夹并且设置其属性为recursive。$(PROJECT_DIR)/**相当于遍历项目文件同级下的所有路径(不推荐使用,项目大的话,影响编译的速度)。

  8. Search Paths子选项:Header Search Paths 、User Header Search Paths的参数设置与其相同
  9. 具体路径应该需要根据不同项目的不同的路径来配置,通过了解相关配置,可以更加方便的差错和修复错误

测试demo

XcodeForSeachPathTest

参考文章



文/LeavesLife(简书作者)
原文链接:http://www.jianshu.com/p/9f9c1fd2e8b5
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
手把手教学:MacOS系统下Xcode配置使用OpenCV方法 从windows换成MacOS系统,需要重新配置openCV用一用,顿时想起被Visual Studio和各种环境Path支配的恐惧……所幸,OS系统配置opencv算是十分方便了,但首先,您要先有Xcode(快先到APP store搜索下载吧,5GB+,要下比较久的)。正好平时做iOS开发,Xcode已经装好,此时就很庆幸了,剩下的工作,就是在终端(terminal)中敲几行命令的事儿了!就是这... 阅读详情

相关推荐

Mac Xcode安装配置opencv

Mac Xcode安装配置opencv

m0_63163552的博客 1626

iOS学习 --- Xcode配置 Framework Search Paths和Library Search Paths

Xcode9.4.1 开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题。而导入第三方库后,这些库的路径应该在当前项目target的Search Paths中,具体的设置路径:target -> Build Settings -> Search Paths -> Framework Search Path...

iOS技术分享与学习博客 4606

Mac OpenGL 环境配置(Xcode)

Mac OpenGL 环境配置(Xcode) 3D图形编程工具课要用到OpenGL,找了好多教程,有的因为Xcode版本更新高于老师用的了,也遇到了奇奇怪怪的bug。自己总结一份经验吧,以免自己后面配置的时候忘了。 安装Homebrew(这真的是最方便的配置方法了) 安装教程指路????https://blog.youkuaiyun.com/y201314an/article/details/84179536 一些tips指路????https://blog.youkuaiyun.com/delphiwcdj/article/

Eurus_Wang的博客 2402

iOS ---- Xcode Search Paths相关配置

开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题。而导入第三方库后,这写库的路径应该现在在导入当前项目target的Search Paths中,具体的设置路径:target -> Build Settings -> Search Paths -> Framework Search Paths 或者 Library...

m0_37468171的博客 1169

【OpenCV环境配置】Xcode+OpenCV+pkg-config

由于笔者使用的是Mac,因此就Mac系统的OpenCV环境进行配置,使用的编辑器是Xcode,网上的教程老旧,且资料不是很完善,因此笔者在此记录下环境配置过程 准备工作 1.安装Xcode 在App Store中安装Xcode(具体不再赘述),目前版本为12.5,安装大小为11.7G,安装时间较长,具体取决于互联网速度与设备运行速度。 2.安装Homebrew Homebrew是Mac上的包管理工具,功能强大具体以后专门写篇博客讲解。 如果你没有安装Homebrew,可以复制以下代码,在终端中执行安装。 /

NJU phd 在读。 3231

飞书应用开发脚手架lark-harness:从零构建企业级机器人

在构建企业级应用时,开发脚手架是提升工程效率和规范性的关键工具。其核心原理在于通过预设的项目模板、最佳实践和通用模块封装,自动化处理项目初始化、配置管理和基础架构搭建。这种技术价值在于将开发者从重复性劳动中解放出来,确保团队技术栈统一,并降低维护成本。在Node.js生态中,脚手架常与Express或Koa等Web框架结合,用于快速构建Web服务、API接口和实时事件处理系统。具体到飞书开放平台开发场景,开发者需要处理OAuth 2.0授权、事件订阅验证、消息加解密等复杂且标准的流程。lark-harnes

weixin_30703911的博客 612

关于Framework Search Paths的一些事情

一,背景 在iOS开发过程中,偶尔会遇到这样的问题,明明我在工程中已经引用了framework了,但是写代码的时候给我报错,头文件找不到 这个问题其实就是Build Setting 中 Framework Search Paths 出问题了,比如上图中出错,是因为我手动删了Framework Search Paths的配置 二,探索 工程编译过程中,xcode会根据Framework Search Paths中的路径在文件中搜索Framework,这个时候,只要配置的路径中有对应的Fr.

柿子树 2875

51单片机基础知识

前言 周末闲着无聊,以后定时更新一期关于51单片机的学习案例,以供大家平时参考使用。至于单片机,你可以理解为人的大脑,而人各项身体器官的运作需要意识给到大脑,然后大脑再驱动我们的中枢神经进行相应的动作,这里的意识可以理解为我们要写的程序,而人的器官相当于各种输出设备,例如我们以后要学的LED、电机、各种传感器等等。学好单片机能让你找到一份相对不错的工作,当然越可观的东西也是要付出相应努力的。 一、51单片机是什么? 通常我们一说到 51 单片机,指的都是兼容IntelMCS-51体系架构的一系列单片机,而

qq_43537819的博客 6905

Search Paths 之 Framework Search Paths、Library Search Paths、Header Search Paths

进入Build Settings里面设置: Framework Search Paths: 这里通常填framework的路径; Library Search Paths: 这里通常填.a文件的路径; Header Search Paths: 头文件搜索路径设置。 双击查看时 $(SRCROOT)表示运行文件地址的上一级 $(PROJECT_DIR)工程目

zhou 6667

Sony微单相机alpha6000 wifi远程控制(1)

引言 Sony’s Camera Remote API beta SDK allows you to control a number of Sony cameras, including Sony Action cams, Sony Alpha cameras and Lens Style cameras, wirelessly from another device. 索尼于2017年三月Re...

markfuk996的博客 4966

AnolisOS网卡驱动源码编译与安装实战指南

本文提供了一份详尽的AnolisOS网卡驱动源码编译与安装实战指南。针对系统自带通用驱动不兼容导致网络无法使用的问题,文章从环境准备、源码获取、编译安装到新旧驱动替换与持久化配置,一步步解析了如何通过源码编译安装官方驱动,解决硬件兼容性问题,并确保驱动在系统重启后自动生效。

weixin_28358083的博客 304

iOS: Xcode 工程配置: Header Search Paths

====

waterforest的专栏 3232

ABAP 后台作业里的消息机制:把 MESSAGE 写对,避免作业莫名取消

SAP后台作业消息处理机制解析 本文深入剖析了SAP系统中后台作业的消息处理机制,揭示了前台与后台执行环境的关键差异。核心发现包括: 后台作业对消息的处理规则: 所有消息写入Job log而不显示 根据消息类型决定是否继续执行 W警告在列表处理阶段会被自动转为E错误 关键异常处理: 通过error_message可捕获E/A类型消息 A类型消息会触发隐式数据库回滚 未被捕获的E/A消息将导致作业中断 实用解决方案: 将业务提示改为S或I类型 使用DISPLAY LIKE保持前台体验 通过error_mess

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2218

Xcode Search Paths相关配置

开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题。而导入第三方库后,这写库的路径应该现在在导入当前项目target的Search Paths中,具体的设置路径:target -> Build Settings -> Search Paths -> Framework Search Paths 或者 Library Search P

bobo553443的博客 3840

Python地理数据处理 十七:植被物候提取和分析(Savitzky-Golay)

植被是陆地生态系统中最重要的组分之一,也是对气候变化最敏感的组分,其在全球变化过程中起着重要作用,能够指示自然环境中的大气、水、土壤等成分的变化,其年际和季节性变化可以作为地球气候变化的重要指标。此外,由于生态工程保护建设和植被自然生长等因素,中国陆地生态系统发挥了重要的碳汇作用。因此,定量评估植被时空动态变化是制定生态系统可持续发展目标和衡量生态系统固碳潜力的重要前提,卫星遥感数据衍生的生态参量产品为研究长时间序列全球及区域植被时空变化提供了重要数据源。SG滤波能够对物候信息进行平滑,并提取其中的物候信息

amyniez的博客,欢迎交流讨论 4247

HyperLynx(十九)DDR(二)DDR的地址仿真

(5)设置水平标尺为2ns/div,垂直标尺为500mV/div,如果有必要,可以通过多次仿真,得到一个更加理想的结果。此外,还可以看到信号在高低电平切换时,反射波形基本趋于平缓,许多大的反射切换边缘已减小,这给了我们更大的定时裕量。如果这些DIMM是缓冲过的,则4个DIMM通道是可行的,但因为这是一个无缓冲DIMM,(20)在编辑传输线对话框中,选择“Values”选项卡,改变传输线长度为3in,具体设置如图所示,单击“确定”按钮。(17)为了增加电压摆幅,选择一个比原来的47Ω小的电阻。

小幽余生不加糖 4257

Xcode项目参数配置——Search Paths

Search Paths 查询路径 Always Search User Paths --- 是否搜索用户路径 Xcode Header Path的设置 Header Search Paths是一定会去搜索的。 而UserHeader Search Paths只有在Always Search User Paths为Yes时才会被搜索。 Header Search Paths (HEADE

番薯大佬的专栏 2652

Yolov8损失函数改进:MPDIoU新型边界框相似度度量,效果秒杀GIoU 、 DIoU 、CIoU 、 EIoU等 | ELSEVIER 2023

ELSEVIER 2023 MPDIoU新型边界框相似度度量助力yolov8,适用提升小目标、遮挡物性能提升

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 7776

XCode Build Settings中几种Search Paths

来源于:http://stackoverflow.com/questions/8342982/ios-clarify-different-search-paths up vote 6 down vote accepted Framework search path: where to search frameworks (.framework bundles) in add

yitailong的专栏 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

XCode-LibrarySearchPath和FramewrokSearchPath

Search Paths 查询路径 Always Search User Paths --- 是否搜索用户路径 Xcode Header Path的设置 Header Search Paths是一定会去搜索的。 1.UserHeader Search Paths只有在Always Search User Paths为Yes时才会被搜索。 2.Header Search

daiqiao_ios的博客 994

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Mac XCode FFmpeg 开发环境配置

1. 安装FFmpeg这个可以参考我前一篇文章Mac FFmpeg x265, aac, ffplay编译安装2. 创建XCode工程我创建了一个FFTest的工程, 3. 导入FFmpeg到重点,其实要说的就是这个3.1 Set Library Search Paths找到Build Settings –> Search Paths –>Library Search Paths 在右边输入FF

矩阵实验室 5987

【OpenCV】Mac OS X平台使用Xcode搭建OpenCV环境

本文介绍的是如何在Mac系统下搭建OpenCV环境。 软件需求:Mac OS(我的是10.11.6)、Xcode(我的是8.1)、OpenCV(不建议去官网先下载,具体的后续会说明)。 1、安装Homebrewbrew官网 安装方法:打开mac终端,输入下面的命令: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Home...

长相忆兮长相忆的专栏 4953

Xcode配置OpenGL环境

Xcode配置Glfw+Glad的步骤。 1. 安装brew ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" 2. 安装cmake brew install cmake 3. 安装glfw brew install glew 安装完成后可以在/usr/local/Cellar路径下找到...

qq_40531392的博客 521

Mac平台安装glfw和glew配置xcode

最近有一门高级计算机三维建模课程需要用到OpenGL这个图形框架,OpenGL框架本身实现了很多图形算法,但是没有提供一个图形显示窗口,本来mac平台是提供了GLUT框架的,但是由于这个已经停止更新好几年了很老了,所以本篇笔记主要记录自己在mac平台安装glwf的过程。 step1.首先安装homebrew $ ruby --version ruby 2.0.0p648 (2015-12-...

AverageJoeWang's Blog 3847

mac下XCODE中配置glfw

在XCODE中配置OPENGL 最近在学习opengl,跟着https://learnopengl.com上的教程学习,在mac上配置了好久,最后在win上面配置成功后回来重新在mac上配置了一下,终于配置成功了,在此记录一下。 安装GLFW 首先,安装glfw,有两种方法,一种是直接下载编译好的,一种是下载源码自己编译。 第一种,直接下载编译好的 我这里直接用homebrew直接下载,没有安装h...

LosterMain的博客 440
上一篇: IOS_推送配置(客户端+(PHP)pem文件、(java/c#)p12文件生成)
下一篇: Facebook第三方登录
Gz_Jason_chen
博客等级 码龄11年 49粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值