在iOS应用程序中加载动态功能
我需要创建这个应用程序与动态功能和屏幕。 假设我有两种类型的应用程序用户-typeA和typeB。 如果typeA用户登录,他将只显示并允许使用functionA和screenA 如果typeB用户登录,他将看到functionA和screenA以及functionB和screenB 当它转到prod并在设备上安装应用程序时,很少有两种类型的用户登录。只是A型或B型 要求是,若它是一个登录的typeA用户,我的应用程序大小和内存占用应该只针对functionA和screenA。因此,理论上,这款应用程序应该比typeB轻 我不确定这里的期限。但就像原来的应用程序只有functionA和screenA一样。但如果typeB登录,它将动态加载其他功能和屏幕-这不是原始应用程序中的功能和屏幕在iOS应用程序中加载动态功能,ios,Ios,我需要创建这个应用程序与动态功能和屏幕。 假设我有两种类型的应用程序用户-typeA和typeB。 如果typeA用户登录,他将只显示并允许使用functionA和screenA 如果typeB用户登录,他将看到functionA和screenA以及functionB和screenB 当它转到prod并在设备上安装应用程序时,很少有两种类型的用户登录。只是A型或B型 要求是,若它是一个登录的typeA用户,我的应用程序大小和内存占用应该只针对functionA和screenA。因此,理论上,这款
这有可能吗?你想要的东西实际上是不可能的。这些二进制文件在上传之前都经过了预编译,因此应用程序的大小不会因用户的类型而异,除非你剪切了两个不同的二进制文件 不过,基于用户类型的Swizzling方法是可能的。假设您有一个用户(
User
)具有isPremium
属性。你可以这样做:
@IBAction func userTappedButton(_ sender: UIButton) {
user.IsPremium ? performMethodOne() : performMethodTwo()
}
这样,如果用户是高级用户,则调用方法1,如果用户不是高级用户,则调用方法2。你可能需要在你的应用程序上进行一系列的检查。谢谢你的回复。我理解,但我们的示例需要先添加和编译这两个函数。我想要的是动态加载另一个函数。我唯一能想到的可能是通过使用。在剪切二进制文件之前,您仍然需要决定使用哪个条件,所以我不知道这是否是您想要的。