框架( *.framework):是一个层次结构目录,它封装了动态库,标题文件和资源,例如故事板,图像文件和本地化的字符串,将其列入单个软件包。使用框架的应用需要将框架嵌入应用程序捆绑包中。
框架用于与静态和动态共享库相同的目的。但是与图书馆不同,框架:
- 可以包括图像,资产,文档,字符串文件等资源。
- 只有一个框架的副本读取的资源加载到内存中,这允许减少iOS应用程序和扩展之间的内存足迹和共享框架。
伞形框架:是一个包含其他框架的框架。
通用框架(FAT框架):多架结构二进制二进制,其中包含多个指令集的代码,并且可以在多个处理器类型上运行。简而言之,它包含为您支持的所有平台编译的代码。例如,X86_64(64位模拟器),用于设备的ARM64 ARM64E ARMV7 ARMV7。结果,这样的框架的尺寸将比单建筑框架更大。
您可以在终端中使用文件命令进行框架:
file <Path>/<FrameworkName>.framework/<FrameworkName>
要检查所有动态链接的框架和库中,您可以使用OTool:
otool -L <Path>/Products/Applications/<AppName>.app/<AppBinary>
xcframeworks 是分发二进制框架的新方法。实际上,一个框架现在可以包含多个体系结构和平台的代码。您仍然需要为不同平台生成档案,并将它们捆绑在一起。
使用XCFrameWorks几乎没有优势:
- XCFrameWork不仅包含用于设备和模拟器的变体,而且还包含Xcode支持的任何平台:iOS,macOS,TVOS,WatchOS。
- 它支持SWIFT和基于C的代码。
- 可以捆绑框架和静态库。 可以制作包括一个或多个XCFrameWorks的Swift软件包。
下一篇文章:Swift Packages。
联系人
我明确专注于上市时间,而没有优先考虑技术债务。我参加了作为系统架构师的预售/RFX活动,移动(iOS-SWIFT,ANDROID-KOTLIN),FRONTERD(REACT-TYPESCRIPT)和后端(nodejs-.net-.net-php-php-kafka-sql)进行了评估工作。 -nosql)。我还成立了预售作为首席技术官的工作,从机会转移到成功交付的机会。
ðLinkedIn:https://www.linkedin.com/in/sergeyleschev/
ðleetcode:https://leetcode.com/sergeyleschev/
ðTwitter:https://twitter.com/sergeyleschev
ðgithub:https://github.com/sergeyleschev
ð网站:https://sergeyleschev.github.io
□pdf设计模式:Download