iOS framework动态引入第三方
2022-07-14 本文已影响0人
梁景华Joshua_
最近在做公司游戏渠道的iOS端SDK,
接入了Google,Facebook,Line,KaKao等海外第三方登录,
但是不同版本又可能不需要某一种登录,所以为了更加动态化去配置,不需要的库就不引入工程,想了以下的方式,
- 新建一个framework(动态库),在里面进行第三方登录的代码接入
- 再在framework里面,进行runtime判断
if (NSClassFromString(@"类名")) {
id googleLogin = [[NSClassFromString(@"类名") alloc] init];
if ([googleLogin respondsToSelector:@selector(googleLoginViewController:)]) {
[googleLogin performSelector:@selector(googleLoginViewController:) withObject:viewController];
}
}
原本想直接在原来的framework里面进行判断,但是Line的是swift版本的,好像类名会变,兼容可能不太好,所以使用了这种方式,就可以更好的兼容第三方。
如果大家有更好的方式,可以交流交流!!!