西贝了爷  

08_01静态库

  计算机生成了可选文字:
静 态 库 和 动 态 库 
· 静 态 库 和 动 态 库 的 存 在 形 式 
0 静 态 库 : 、 a 和 framework 
0 动 态 库 : .dYlib 和 framework (iOS9 取 消 了 . ib , 使 用 d 替 代 ) 
· 静 态 库 和 动 态 库 在 使 用 上 的 区 别 
。 静 态 库 : 链 接 时 , 静 态 库 会 被 完 整 地 复 制 到 可 执 行 文 件 中 , 被 多 次 使 用 就 有 多 
份 冗 余 拷 贝 ( 左 图 所 示 ) 
0 动 态 库 : 链 接 时 不 复 制 , 程 序 运 行 时 由 系 统 动 态 加 载 到 内 存 , 供 程 序 调 用 , 系 
統 只 加 载 一 次 , 多 个 程 序 共 用 , 节 省 内 存 ( 右 图 所 示 ) 
系 经 
程 序 1 
羼 , 匚 
程 序 2 
. 需 要 注 意 的 是 、 
项 目 中 如 果 使 用 了 自 制 
的 动 酾 , 不 能 被 上 传 
到 AppStore

08_02制作静态库 .a

1.新建项目com+shift+n:选择Framework&Library.

  计算机生成了可选文字:
Choose a template for your new project: 
Touch 
Cocoa Touch 
Static Library 
iOS 
Application 
Framework & Library 
watchOS 
Application 
Framework & Library 
os x 
Application 
Framework & Library 
System Plug-in 
Other 
Cancel 
Cocoa Touch 
Framework 
Cocoa Touch Static Library 
This template builds a static library that links against the Foundation framework. 
Previous 
Next

2.下一步. 项目名不能为中文.

3.编写代码之后.用真机运行.会自动生成一个静态库

  

4.products文件夹中的.a静态库文件,红色变成黑色.  Show in Finder 该文件夹中会生成一个.a文件

 

  

5.include文件夹里只有主文件的.h文件. 新建的HMTool.h 需要手动添加.  

1>可以直接手动拷贝

2>如图,先在xcode中添加 在运行一次

  

使用制作的静态库 .a

1.将整个Debug-iPhoneos文件夹拖入xcode,便可使用.不过仅可选择真机运行. Debug-iPhonesimulator 拖入,才可在模拟器上使用

2.如果仅将Debug-iPhonesos文件夹拖入xcode,真模拟器运行,会报错.崩溃如图.

静态库的架构不对.

  

3.导入了Debug-iPhonesimulator,在模拟器上运行还报错说明模拟器的版本不对

  

4.报错总结以及模拟器的架构:

  

 

 

补充: 1.查看静态库的架构

  

 

2.报错:终端里cd 正确的文件路径,找不到里面的文件夹

  

 

  

 

 

 

08_04合成多架构静态库

  计算机生成了可选文字:
4 · 合 成 多 个 本 架 的 
臠 求 : 合 感 & 拟 器 所 籌 要 的 全 剖 架 
方 式 一 : 使 用 合 令 lipo 吣 at 静 态 毒 1 . a 齡 态 厍 2 . a —Output 新 套 , . a 
方 式 二 : 设 鬢 译 当 前 架 构 为 0 { 只 针 对 欞 器 / 真 机 , 
如 鬻 要 合 并 真 机 的 鼾 有 架 构 以 及 棂 拟 的 厮 有 架 构 , 使 鬲 方 式 一 合 成 
臠 求 : 合 成 5 释 架 嗨 
{ 友 5 中 构 首 先 合 感 拟 的 2 种 嗨 · 
再 合 成 賈 机 的 1 种 架 构 · 在 讲 两 个 絮 构 合 成 , 
合 成 之 后 · 只 有 圈 种 架 构 · 缺 少 arm 丷 , 
amv7S 这 个 梅 · 在 20M 年 10 月 份 的 Xcode 更 籃 中 , 取 消 了 戮 认 鑰 出 · 如 鼕 想 翰 出 , 就 團 配 鬣 手 动 泠 加

方式一:

 

  计算机生成了可选文字:
sen$ 
sen$ cd /Users/sen/Library/Developer/Xcode/DerivedData/HeiMaLib—hgsvamdtqlsfmecs 
ydmuq/Build/Products/Debug—iphonesimulator 
sen$ lipo —info libHeiMaLib.a 
input file IibHeiMaLib.a is not a fat file 
Non—fat file: IibHeiMaLib.a is architecture: i386 
sen$ 
Users sen 1 rar Deve oper c e erxve Data 
bkiydmuq/Build/Products 
I-MIOS:Products sen$ lipo reate IibHeiMaLib.a Debu 
I-MIOS:Products sen$ 
effa 1 — 
svam tq s m

方式二:

 

  

 

 

手动添加静态库架构:

  

 

  

 

 

 

  计算机生成了可选文字:
5 · 是 否 需 合 成 静 态 库 的 机 / 拟 { 每 一 释 架 构 会 占 用 一 定 的 大 小 , 
不 合 成 通 用 文 件 : 百 度 文 件 体 积 小 灯 处 : 寶 机 谰 一 定 不 用 楔 器 的 架 构 { 如 鼕 湃 发 邊 到 这 释 问 , 开 发 时 · 先 合 并 , 发 布 时 , 用 真 机 的 架 梅 版 本 , 
合 鬮 用 文 件 : 友 盟 文 件 体 积 大 灯 处 : 是 试 时 不 用 区 分 糞 机 和 攙 拟 器 
6 . Release 和 Debug 的 区 别 
& 该 输 出 lease 恿 本 
b 的 : 有 丰 奮 的 谰 试 句 和 代 当 前 下 会 翰 出 (NSLog 
” 0 : 不 会 有 丰 富 的 试 句 和 代 码 文 件 体 积 会 变 小 · 执 行 度 会 套 快 , 竄 衍 上 俸 鬣 太 大 区 { 对 用 户 嘛 说 无 太 大 影 疇 ,

 

08_05图片资源包

当静态库需要有图片等资源时,不会打包进.a文件中.

是需要创建一个文件夹.重命名HMTool.bundle,需要用右击显示包内容打开 将图片放入其中.

将资源bundle .a文件放在同一文件夹中即可. 一起拖入项目中即可使用.

  

调用HMTool.bundle包种图片方法:

  

posted on 2016-01-05 03:56  西贝了爷  阅读(587)  评论(0编辑  收藏  举报