bundle捆绑包/绑定包(bundle绑定包处于独立的硬件空间),Xcode工程师构建的可执行的项目工程的压缩产品软件包(ipa)本身也可视为某个绑定包(主绑定包mainBundle(主体研究对象方向))。主绑定包mainBundle包含可执行的逻辑规则代码指令和开发者注入的相关资源如图片资源/音频资源/视频资源等等。
结构层次概念体系NSBundle类用来定位可执行资源所处的位置,获取具体的可执行文件的位置而后加载进入内存中供CPU调用。NSBundle的使用仅限制于独立的绑定空间(对于独立的绑定空间可通过NSBundle概念实现操作(如executable可执行项目工程/dynamic动态库等可通过NSBundle概念研究))
NSBundle官方文档中可以看到:
Any executable can use a bundle object to locate resources, either inside an app‘s bundle or in a known bundle located elsewhere. You don’t use a bundle object to locate files in a container directory or in other parts of the file system.
使用NSBundle绑定对象来定位任何可执行文件包内资源。无论是在某个应用程序项目工程的软件包中还是在其他地方的已知集成包中。在容器目录或文件系统的其他部分,不能使用NSBundle对象来定位文件系统资源。
executable可执行包是运行时可执行包/DynamicLibrary动态库是运行时加载进入内存由CPU调用触发。
绑定包风格:
Executable可执行类型包存在main主入口(运行在手机上的APP)。
NSBundle理解(绑定包)
于 2020-09-09 16:26:20 首次发布
NSBundle主要用于定位和加载iOS应用中的资源。主绑定包(mainBundle)包含可执行代码和资源,而bundleForClass用于获取类对象所在的绑定包。动态库(DynamicLibrary)在运行时加载,静态库(StaticLibrary)在编译时合并到主工程。对于动态库,bundleForClass能获取其对应的绑定包,静态库则返回主绑定包。
摘要由CSDN通过智能技术生成