手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
iOS,经验 ,

解释iOS开发中的.swift、.h、.m、.mm、.cc、.cpp、.o、.a、.tbd、.framework等文件

在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,放在一起,有时候比较好工作。


历史上的今天:

展开阅读全文


上一篇:

下一篇:

服务器又要到期了鼓励一下吧
您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
关注我的公众号为您分享各类有用信息
分享录多端跨平台系统