博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态库介绍与简单演练及同名资源冲突解决(.a格式的静态库)
阅读量:5973 次
发布时间:2019-06-19

本文共 821 字,大约阅读时间需要 2 分钟。

1、静态库和动态库都是闭源库,不公开源代码。

静态库:.a和.framework

动态库:.dylib和.framework(iOS9取消了.dylib,使用.tbd替代)

 

2、静态库和动态库在使用上的区别:

静态库:链接时,静态库中使用的文件会被完整的复制到可执行文件中,被多次使用就有多次冗余拷贝

动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存

注意:项目中如果使用了自制的动态库,不能被上传到AppStore。

        因为:动态库存在于系统中,可以更新,不用上传AppStore就可以(Apple不赚钱了),存在较大风险(注入攻击,冒充系统类库,APP之间传值,因为用的都是相同的东西)。

 

3、静态库创建:

 

4、静态库目录介绍:

 

5、新建项目并导入静态库:

 

6、使用导入的静态库的方法:

 

7、添加自定义源文件的时候,还需要手动添加其头文件,同样,添加的资源文件,也需要手动导入:

 

手动导入:

 

我们再来看看生成的文件,可以看到已经有了自定义源文件的头文件了:

 

8、使用静态库的创建图片方法和资源文件创建图片并显示:

 

9、注意了啊,如果项目中的资源文件和静态库中的资源文件同名的时候,将会使用项目中的资源文件:

 

10、那怎么让显示静态库中的资源呢:

很简单:把资源放到一个Bundle包中,然后把Bundle包添加到静态库中,并使用“步骤7”,手动导入Bundle包,然后使用资源时:“Bundle包/资源名”即可。

 

资源放入Bundle包并把Bundle包拖入项目中:

 

手动导入Bundle包:

 

生成静态库:

 

11、使用“Bundle包路径/资源名”引用静态库的资源文件:

 

12、重新生成静态库文件,并导入项目中,调用静态库代码,可以看到,这时候创建的图片,就是静态库中的图片

转载于:https://www.cnblogs.com/panda1024/p/6111827.html

你可能感兴趣的文章
GitLab Web IDE正式发布10.7版本并开源
查看>>
Alluxio在多级分布式缓存系统中的应用
查看>>
秒杀业务架构优化之路
查看>>
简析Uber的可伸缩监控:uMonitor和Neris
查看>>
利用日志记录所有LINQ的增,删,改解决方案
查看>>
实例讲解PostSharp(一)
查看>>
graylog 客户端的安装配置
查看>>
CentOS6.4_X86_64 安装Drupal-7.31必须成功版!
查看>>
驱动学习之驱动和应用的接口
查看>>
hbase region split源码分析
查看>>
MySQL备份之分库分表备份脚本
查看>>
Java 与 Netty 实现高性能高并发
查看>>
SurfControl人工智能新突破 领跑反垃圾邮件
查看>>
一个动态ACL的案例
查看>>
linux基础中的基础
查看>>
jquery 表单验证
查看>>
openstack 之 windows server 2008镜像制作
查看>>
VI快捷键攻略
查看>>
Win server 2012 R2 文件服务器--(三)配额限制
查看>>
卓越质量管理成就创新高地 中关村软件园再出发
查看>>