iOS framework动态引入第三方

最近在做公司游戏渠道的iOS端SDK,
接入了Google,Facebook,Line,KaKao等海外第三方登录,
但是不同版本又可能不需要某一种登录,所以为了更加动态化去配置,不需要的库就不引入工程,想了以下的方式,

  1. 新建一个framework(动态库),在里面进行第三方登录的代码接入
  2. 再在framework里面,进行runtime判断
if (NSClassFromString(@"类名")) {
    id googleLogin = [[NSClassFromString(@"类名") alloc] init];
    if ([googleLogin respondsToSelector:@selector(googleLoginViewController:)]) {
        [googleLogin performSelector:@selector(googleLoginViewController:) withObject:viewController];
    }
 }

原本想直接在原来的framework里面进行判断,但是Line的是swift版本的,好像类名会变,兼容可能不太好,所以使用了这种方式,就可以更好的兼容第三方。


如果大家有更好的方式,可以交流交流!!!

你可能感兴趣的:(iOS framework动态引入第三方)