我们开发提供给iOS 开发者者使用的第三方iOS SDK,需要使用几个Apple的Framework,例如 QuartzCore.framework、CoreLocation.framework等。
这样的话开发者集成我们SDK就需要在自己的Xcode工程引入这些系统Framework,为了方便开发者集成,简化集成步骤。
我们用了动态加载framework的技术,开发者就不需要手动载入framework,我们在sdk代码中自动实现加载。
实现方法
我们可以用下面的输出看到iOS 在运行时已经把很多Frameworks加载进来。
NSLog(@"framePaths is %@",[NSBundle allFrameworks]);
对已经加载进来的Frameworks,我们只需要指定framwork的路径既可以实现加载,例如:
NSBundle *quartzCoreSupportBundle = [NSBundle bundleWithPath:@"/System/Library/Frameworks/QuartzCore.framework"];
if (quartzCoreSupportBundle !=