首页 > 其他分享 >Xcode中常见的环境变量

Xcode中常见的环境变量

时间:2023-05-15 23:32:17浏览次数:52  
标签:NAME App 常见 Prefix 环境变量 SRCROOT pch Xcode Name


为当前项目添加.pch文件

  1. 新建.pch文件,pch文件的命名规则:“工程名字-Prefix.pch”,当然也可以不遵守这个规则随意命名

Xcode中常见的环境变量_App

  1. 指定pch文件所在的位置(既然我是新建的pch文件,Xcode为何不直接给我设置pch文件的路径,还要开发者做这件事,真是不人性化),在Build Settings中搜索Prefix Header, 然后在该项中输入“(SRCROOT)/项目名称/pch文件名”,例如“(SRCROOT)/iBlog/iBlog-Prefix.pch”
  2. Xcode中常见的环境变量_pch文件_02

  3. 将Precompile Prefix Header 预编译头设置成YES,表示在编译时缓存缓存头文件,可以提供编译速度

$(SRCROOT) 是什么鬼

从上图中可以看到系统将(SRCROOT)转换成项目所在位置的绝对路径,我们可以称“(XXX)”这个东西为Xcode的环境变量, src root ,即 源码的根路径,使用这个环境变量的好处是如果将.pch文件的路径写死成绝对路径,当这个项目发到其他电脑上允许,那么这个路径将不匹配,如果使用环境变量无论放在那个电脑上都可以允许,因为$(SRCROOT)会自动识别项目所在的路径

Xcode中常见的环境变量_App_03

Prefix Header相对路径配置

上面使用了$(SRCROOT)环境变量来配置.pch文件的绝对路径,也可以通过配置相对路径配置,默认Xcode是从项目所在的目录的父目录开始搜索的:在本示例中是”/Users/macmin/Documents/iBlog”, 所以配置.pch文件的相对路径要在前面的路径上再追加“iBlog/iBlog-Prefix.pch”即可

Xcode中常见的环境变量_pch文件_04


Info.plist 中的$()

Xcode中常见的环境变量_App_05

$(PRODUCT_NAME) : product name :产品名字

环境变量的目的就是为了一次定义多次使用,在其他某个地方修改了,其他所有引用的地方都会跟着改变。

PRODUCT_NAME就是可以看做是App的名字,App的名称可以在,也可以直接修改Info.plis中对应的键,还可以在Build Settings中修改Product Name来修改(默认是$(TARGET_NAME):即当前选中的target对应的值)

Xcode中常见的环境变量_环境变量_06

Xcode中常见的环境变量_App_07

  • Bundle name 简单来说就是 App 安装到 iOS 机子里的 App 文件夹名。
  • Executable name – 执行程序名,默认与 PRODUCT_NAME 一致。
  • Bundle display name – 真正显示到用户屏幕上的 App 名称。

可见在模拟器/真机上显示的名字是由Bundle Display Name决定的。默认情况下Bundle Display Name就等同于Product Name,所以大家通常认为Product Name=App的Name

Xcode中常见的环境变量_pch文件_08

$(PRODUCT_BUNDLE_IDENTIFIER) product bundle identifier

就是App的唯一标识,同样可以在多个地方来修改


$(EXECUTABLE_NAME)

执行程序名,默认与 PRODUCT_NAME 一致。不能修改Info.plist中的该键,否则报错

Xcode中常见的环境变量_pch文件_09

$(inherited):继承

Xcode中常见的环境变量_pch文件_10

头文件搜索的路径
Xcode在编译时, Header Search Paths、Library Search Paths是一定会去搜索的。而User Header Search 、只有在Always Search User Paths为Yes时才会被搜索。

Project的Building Settings中得设置默认并不被Targets继承,只有当Targets的设置加入了(inherited)时才被继承,添加目录的时候写上“(inherited)” 就表示从frameworks里面读取。

Xcode中常见的环境变量_环境变量_11


标签:NAME,App,常见,Prefix,环境变量,SRCROOT,pch,Xcode,Name
From: https://blog.51cto.com/u_16114318/6281612

相关文章

  • Java并发(五)----线程常见方法总结
    常见方法方法名static功能说明注意start() 启动一个新线程,在新的线程运行run方法中的代码start方法只是让线程进入就绪,里面代码不一定立刻运行(CPU的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用了多次会出现IllegalThreadStateException......
  • 5、Nginx 常见模块 auth_basic:实现账户认证功能
    Nginx账户认证功能由ngx_http_auth_basic_module模块提供此功能官方帮助:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html语法格式:Syntax: auth_basic_user_filefile;Default: —Context: http,server,location,limit_except范例:authbasic提......
  • 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及HA环境的配置)
    目录Hadoop系列文章目录一、pom.xml二、junit测试类三、操作类(帮助类)四、高可用环境的操作类本文编写了java对HDFS的常见操作,并且均测试通过。其功能包含构造conf、设置系统环境变量、创建目录、判断文件是否存在、获取文件/目录的大小等,具体见下图。本文分为四部分,即pom.xml、ju......
  • 问鼎CodeXGLUE榜单,华为云UniXcoder-VESO-v1算法取得突破
    摘要:华为云PaaS技术创新团队基于UniXcoder模型,在公开测试数据集(CodeXGLUE)上的代码搜索任务评测结果上取得突破,在CodeXGLUE榜单上排名中第一。本文分享自华为云社区《代码语义搜索算法哪家强?华为云UniXcoder-VESO-v1算法取得突破,问鼎CodeXGLUE榜单第一名》,作者:华为云软件分析Lab......
  • Java常见操作
    1交换两个变量的操作 eg.  public static void main(String[] args) { int m=10; int n=20; System.out.println("m="+m+",n="+n); //交换两个变量的值的操作 int temp=m; m=n; n=temp; }}2 交换数组中指定两个位置元素的值publuc void swap(i......
  • idea常见debug方式
    行断点方法断点方法断点,在方法上加一个断点,在进入方法的时候默认会在首行代码加一个断点并进入,在方法开始和方法结束的时候都会进行一个停顿,好处是方便观看结果的返回值。详细断点异常断点字段断点......
  • 常见问题解决 --- python必备技能 换源
    源是什么源是编程开发或则是操作系统要使用的第三方依赖软件应用市场,源又从何而来,其实源来自其他的源的克隆,或者是源提供者自己收集,编译,又或者作者的上传为什么要换源这些源往往都在国外,国内以为你懂的原因无法直接访问或者特别慢怎么换Windows下python永久换源方式有两种:修......
  • 常见问题解决 --- pip报错【WARNING: Retrying (Retry(total=4, connect=None, read=N
    问题现象【WARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,st】解决方法:出现该错误信息是因为pip源连接证书验证失败,增加参数 --trusted-host例如pipinstallmatplotlib-ihttp://mirrors.aliyun.com/pypi/simple--trusted-hostmirrors.al......
  • 操作系统:为什么一个页表项通常占用1Byte,1字节呢?页表项≠逻辑地址!常见OS内存管理误区辨
    为什么一个页表项通常占用1Byte,1字节呢?页表项≠逻辑地址!如果还不懂,请看:页目录、页表和页三者的关系详解每个页表项占用一个字节是怎么来的?问题启发一开始是做题的时候,为什么不是2^12bit,而是2^12Byte某计算机主存按节址,逻地址和物理地址都是32位页表项大小为4B。请回......
  • Python 的常见库
    Python是一种广泛使用的编程语言,有很多强大的库可以帮助开发人员实现各种任务。以下是一些常见的Python库:NumPy:一个用于数值计算的库,提供了高效的数组操作和数学函数。Pandas:一个用于数据分析和操作的库,提供了数据结构和函数,可以方便地处理和分析数据。Matplotlib:一个用于数据可视......