在iOS开发中使用静态库(Static Library)

引言:

静态库是一个(.a)为后缀的文件,它由Xcode编译生成.并且,库中只能存放代码,如果编译静态库的工程中有其他资源是无法一起编译到静态库中.静态库有点类似Windows中的Dll文件.做过Windows桌面应用的人应该很熟悉.静态库出现的主要目的是为了让代码可以在多个地方重用.此篇主要记录在iOS中使用静态库时遇到的问题汇总和解决方案.

如何创建一个静态库:

解决方法如下:

确定 Library Search Paths 的路径是否指向正确:

六:Unknown class MyClass in Interface Builder file. 的解决办法

设置Other Linker Flag 的 -all_load

在使用静态库时,如果没有设置-all_load . 那么主工程在编译时是不会检测是否引用应该引用的框架(framework).

但是使用是没问题的,但是遇到需要框架才能执行的代码会崩溃,另外xib也会报出 找不到相应的类,除非在代码中主动调用.

七:静态库中的资源使用和管理的最佳解决方案.

使用Bundle捆绑包的方式来使用和管理资源.

步骤如下:

1:新建一个文件夹,将其命名为xxx.bundle. 以后 Mac自定识别到并标识为捆绑包.

2:将静态库使用的相关资源拷贝的bundle里面.

3:抒写代码的时候在路径方面有所改变,如下:

[UIImage imageNamed:@"PullTableView.bundle/arrowhead_up.png"]4:这一点是我的建议,将捆绑包还是放在静态库的目录里. 然后在拖动到主工程中时,不要选择复制到执行区域.如下图设置即可:

八:当一个项目里面有两个Target都需要使用同一个静态库时,应该这样操作才可以正常使用:

因为在Frameworks里面只会生成一个.a 文件. 所以直接在Target Membership直接勾选即可.

,而是深沉的意志恢弘的想象炙热的恋情;青春是生命的深泉在涌流。

在iOS开发中使用静态库(Static Library)

相关文章:

你感兴趣的文章:

标签云: