iOS开发-功能篇-静态库

1.概述:apple的开发,主要提供了两种库:一种是静态库,系统自带的.framework和自己创建的.a文件,主要在编译时供调用;还有一种是动态库,主要以.dylib结尾(或直接为.o文件),在运行时创建成.o文件链接到工程文件中供调用。苹果目前只提供静态库的封装为主,接下来就介绍.a静态库的封装。

2.功能:主要有2大用途:1).功能模块化,便于重用;2).保密源文件内部实现,保护源文件隐私。

3.步骤:创建一个新的project工程文件->选择cocoa touch static library>创建供他人调用的.h.m文件->.h.a文件来配合,.h文件中提供的接口函数,需要供他人调用的函数接口需要暴露在.h文件中->因为框架是静态库,所以最后是编译生成.a文件->products中找到文件位置->在需要引用的工程中添加.a文件和相应的.h头文件(注意link binary with library链接进去)。注:其实.a文件就是.m文件的集合,根据打包出来的.h文件来调用里面相应的.m文件。

4.示例:1.2.3.456

7.8.9.10

5.问题:1).Product->scheme中注意releasedebug版本。

      2).若编译后.a文件是红色的说明没有成功,可以切换一下模拟器和device工程的目录生成黑色.a文件。

      3).注意,模拟器因为是在mac,cpu架构是x86的和deviceiPhone等设备下arm的架构不同,我们可以对生成的文件进行查看lipo -info xxx.a ,若想同时使用便使用lipo -create .../模拟器/xxx.a .../设备/xxx.a output .../输出位置/xxx.a

4).如果设置了other linker flags   为-ObjC时,会出现archecture为i386而不是x86_64,这个视具体情况编译。

转载于:https://www.cnblogs.com/ramboback/p/4766227.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值