iOS使用.framework类型的静态库

网友投稿 879 2022-09-26

iOS使用.framework类型的静态库

iOS使用.framework类型的静态库

​​iOS使用.framework类型的静态库​​ 1.新建一个新工程

2.增加资源文件SDKDemoBundle.bundle,不增加资源文件,而使用资源文件会crash.

注意: SDKStaticFrameworkDemo.framework中的SDKDemoBundle.bundle资源文件不能在工程中直接访问需要把它移动到工程才能使用。不是从 SDKStaticFrameworkDemo.framework静态库里拖入工程,而是把SDKDemoBundle.bundle资源文移动到工程文件里加载。若两者都有虽然可以用但是多展包的大小。当然也可以参考​​如何访问组件的bundle资源​​来使用.bundle资源。

3.引入 SDKStaticFrameworkDemo.framework 文件

由于.a静态库要把生成的库中的include 文件加载到项目中,Framework库只需要把 SDKStaticFrameworkDemo.framework拖入工程就可以。

注意:SDKStaticFrameworkDemo静态库要和包名相同,不能乱改名字。

.framework 静态库不支持同时支持Debug和Release两个包,只能而选一。这方面不如.a静态库(存在两个.a包,会造成打出的ipa包变大问题)。别的第三方库如何解决这个问题我暂时还不知道。

最后引入结果如下

5.检查Linked Frameworks and Libraries下是否有你的静态库,若没有会crash。不过默认是会在它下面看到的。当然你用pods导入的在工程的Linked Frameworks and Libraries看不到,不过不影响你的正确使用。这个和动态库需要你手动配置到Embedded Binaries下简单多了,真正达到傻瓜式使用。当然更简单的是做一个公有组件

6.增加使用动态库的代码

ViewController.m

#import "ViewController.h"#import #import @interface ViewController ()@property (nonatomic, strong) UIButton *testBtn;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; UIButton *testBtn = [[UIButton alloc]initWithFrame:CGRectMake(0, 100, 50, 50)]; [testBtn setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [testBtn setTitle:@"测试" forState:UIControlStateNormal]; [testBtn addTarget:self action:@selector(testAction:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:testBtn]; testBtn.center = self.view.center; self.testBtn = testBtn;}- (void)testAction:(UIButton *)button{ [TestTool testLog]; SDKDemoViewController *vc = [[SDKDemoViewController alloc] init]; [self presentViewController:vc animated:YES completion:nil];}- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:YES]; [self.view bringSubviewToFront:self.testBtn];}@end

7.调用以及结果

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:iOS不支持WebP格式图片解决方案和iPhone 7及其后硬件拍照的HEIC格式图片
下一篇:windows/linux nginx多个server配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~