我正在开发 ios B2B 应用程序,我有几个关于应用程序模块化的问题。
首先,我需要了解捆绑包和框架之间的主要区别。何时使用捆绑包以及何时使用框架。
另一个问题是。bundle 是否可以在其中包含 .framework ,反之亦然。
是否可以为 ios 应用程序创建插件并动态加载它们,如果是,那么它应该是什么?捆绑框架或库?
库是否可以包含资源文件?
是否可以创建资源包和动态库,然后在运行时动态加载它们。
我正在开发 ios B2B 应用程序,我有几个关于应用程序模块化的问题。
首先,我需要了解捆绑包和框架之间的主要区别。何时使用捆绑包以及何时使用框架。
另一个问题是。bundle 是否可以在其中包含 .framework ,反之亦然。
是否可以为 ios 应用程序创建插件并动态加载它们,如果是,那么它应该是什么?捆绑框架或库?
库是否可以包含资源文件?
是否可以创建资源包和动态库,然后在运行时动态加载它们。
是否可以为 ios 应用程序创建插件并动态加载它们,如果是,那么它应该是什么?捆绑框架或库?
不
库是否可以包含资源文件?
不
是否可以创建资源包和动态库,然后在运行时动态加载它们。
不
Bundle是 Directory 的一种,一个文件夹。框架是一个捆绑包。应用程序也是如此,插件也是如此。
静态库是一个单一的文件代码存档,您可以在构建时编译到您的应用程序中
Xcode 构建选项“Bundle”的意思是“将编译后的动态库放在一个 Bundle 中”——这就是你想要创建插件时所做的事情。
静态库是在 iOS 上模块化代码的唯一选择。
桌面上..
通常,框架用于在多个应用程序之间共享代码和资源。您希望您的应用程序的行为就像代码实际编译到其中一样。您希望加载透明地发生,并且您不想做任何特殊的事情来使用其中包含的方法、函数等。
插件(包含已编译代码和资源的捆绑包)用于可选的、动态加载的代码,例如,您可以选择加载或不加载的软件扩展。您希望仔细构建您的应用程序,使其不依赖于插件,但如果您在运行时手动定位并加载它,它会获得新的行为。
框架和插件非常相似,但框架具有严格的文件布局,以便于定位和加载代码和资源。使用插件,这些工作是您的责任,因此您可以根据需要构建 Bundle 内容。
因为在 OSX(但不是 iOS)上的 Cocoa 中加载代码非常容易,框架可以包含插件,这些插件包含包含更多框架的框架等。
在 iOS 上,有些人将静态库与资源一起放在 Bundles 中,并称它们为 Frameworks。这没有真正框架的所有优点和所有缺点。