库,框架,软件包:框架。
#编程 #ios #swift #frameworks

框架( *.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)。我还成立了预售作为首席技术官的工作,从机会转移到成功交付的机会。

在 ð§电子邮件:sergey.leschev@gmail.com
ð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