在iOS开发中我们经常会看到各种格式的文件,这里简单介绍一些常见的文件。
.swift:Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言,相对Objective-C更简单、更高效,可与Objective-C混合使用。
.h:Objective-C语言的头文件,包含方法、属性、变量、函数等的声明。
.m:Objective-C语言的实现文件或叫源代码文件,对头文件的实现或扩展。
.mm:Objective-C语言的实现文件或叫源代码文件,一般是C++代码。
.c:C语言源文件。
.cc:C++源文件。
.cpp:C++源文件。
.o:已经编译的文件。
库:是共享程序代码的方式,是一种可执行代码的二进制格式,可以被载入内存中执行,分为静态库和动态库。出于安全性和稳定性的考虑,通常会把核心代码打包成库,只暴露出头文件以供使用。
静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。
动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。
.a:静态库文件,其实就是.o文件的集合,是一个纯二进制文件,不能直接使用得通过.h文件配合。
.dylib:动态库文件。
.tbd:tbd全称是text-based stub libraries,本质上就是一个YAML描述的文本文件。.tbd文件用于记录链接动态库的必要信息,包括动态库导出符号、动态库的架构信息、动态库的依赖信息、动态库的链接路径等。早在2015年苹果推出了Xcode7的时候,.tbd文件也随之产生,它的出现取代了.dylib。
.framework:系统的.framework是动态库,自己建立的.framework是静态库,包含二进制、资源等文件,.a+.h+soureFile=.framework,可以直接使用。
.plist:属性列表文件,全称是Property List,是一种用来存储串行化后的对象的文件,是xml格式的,通常用于储存用户设置,也可以用于存储捆绑的信息。
.pch:pch头文件是Precompile Prefix Header,指的是预编译头文件,用于存放项目公共的头文件、宏、输出日志等,方便在开发阶段一次性导入多个头文件。Xcode6之前创建的工程都自带PCH文件,Xcode6之后创建的工程默认不带PCH文件,苹果可能出于节省编译时间的考虑,不推荐开发者使用PCH。
.entitlements:是一个配置文件,对于一些要开启的app功能,需要使用这个文件来做配置。
.xcconfig:是Xcode里的config文件,用来保存Build Settings键值对的纯文本文件。这些键值对覆盖Build Settings中的值,所以当在xcconfig文件中配置了的选项,在Build Settings中设置将失效。
.xcodeproj:是一个plist文件,记录着这个项目/工程的文件结构,包含了此项目构建所需要的元数据、setting、文件链接、configuration、targets等。
.xcworkspace:是一种 Xcode documentation,用于管理子项目/工程,可以将多个project和其它文件放到一起,这样可以work on them together。一个project也可以属于多个workspace。所以简单来讲,workspace里面就是一个或多个projects的 reference,放在一起,有时候比较好工作。
历史上的今天:
- 2020: 微服务架构[初识微服务](0)
展开阅读全文
上一篇: 微信公众号如何变现