在运行时在iOS上添加框架

时间:2016-06-26 19:17:04

标签: ios objective-c swift

首先,我将描述我的用例,说明为什么我需要在运行时在iOS上添加框架。

假设我在iOS设备上有一款应用。该应用程序需要一些第三方框架来添加一些外部功能。现在,功能很多。因此,所需的框架数量也将很多。用户可能不需要很多功能。只是一小部分功能。此外,许多框架将需要大量空间。该应用程序将是巨大的。

例如,用户只需要1个功能。该应用程序提供100.因此,所有其他框架肯定是不必要的。

因此,解决方案是从在线存储库按需下载框架和必要文件,在运行时链接它们并使用它们。这意味着应用程序的大小非常小,而且不必要的东西也不会太大。

但是iOS提供了吗?我必须添加一个外部框架,并且应用程序上没有的必要文件在运行时使用它们。

这可能吗?任何人都可以为我提供一些如何做到这一点的资源吗?

我在SO和其他一些网站上看到了一些资源。结果没那么有用。

1 个答案:

答案 0 :(得分:1)

“但是iOS提供了吗?” - 没有
“这可能吗?” - 部分
“任何人都可以向我提供一些有关我如何做到这一点的资源” - 很遗憾没有

更多细节:开箱即用当然不可能。首先要做的就是努力实现你的目标(更重要的是),其次,苹果可能不允许这样做。您不得在运行时将新的“程序代码”加载到应用程序中。原因很简单,Apple无法检查您要加载的内容。如果您的后端遭到入侵,这将给您的用户带来巨大的安全风险。

您可以做的是按需加载图片,视频等资源。

您甚至可以提出应用的某些脚本行为。理论上,服务器可以向您的应用程序提供代码,然后您的应用程序解释该代码。 但是该代码不是Swift,而是您必须首先定义的其他语言。你看到这是怎么回事?那可能而不是可行的。无论如何,它仍然会让你被拒绝。

特别是如果你在谈论包含实际二进制代码的实际框架是不可能的。