iOS利用Xcode制作静态库和动态库
2017-03-25 23:46
288 查看
静态库制作
在实际的开发中经常会用到一些第三方的静态库,比如友盟,地图等,他们可以让源码不被直接暴漏.在需要使用时,仅仅拷贝相应的.h文件和.a文件就好但是在链接时,静态库会被完整地复制到可执行文件中, 被多次使用就有多份冗余拷贝
启动Xcode的时候选择iOS -> Cocoa Touch Static Library
加入类文件
选择要公开的头文件
分别选择General iOS Device
(或真机) 和 模拟器进行cmd + d
编译
查找编译的静态库
iphoneos
是真机生成的, iphonesimulator
是模拟器生成的, 生成的静态库和头文件在该文件夹下.拷贝即可使用
查看生成的静态库所支持的架构
终端命令进入到上面对应的文件夹中,执行lipo -info libLibraryName.a
$:cd cd /Users/macName/Library/Developer/Xcode/DerivedData/StaticLibrary-bdbrhhdqgqontmclpbovyevlafjp/Build/Products/Debug-iphoneos $: lipo -info libLibraryName.a //执行结果:即支持armv7和arm64 Architectures in the fat file: libStaticLibrary.a are: armv7 arm64
将两个静态库合并生成一个通用的静态库
$: lipo -create /iphoneos下的libLibraryName.a所在完整路径 iphonesimulator下的libLibraryName.a所在完整路径 -output /Users/Mac Name/Desktop/libResult.a 例如: lipo -create /Users/macName/Library/Developer/Xcode/DerivedData/StaticLibrary-bdbrhhdqgqontmclpbovyevlafjp/Build/Products/Debug-iphoneos/libLibraryName.a /Users/macName/Library/Developer/Xcode/DerivedData/StaticLibrary-bdbrhhdqgqontmclpbovyevlafjp/Build/Products/Debug-iphonesimulator/libLibraryName.a -output /Users/macName/Desktop/libResult.a
动态库制作
启动Xcode的时候选择iOS -> Cocoa Touch Framework
加入类文件并且设置公开的头文件
分别选择General iOS Device
(或真机) 和 模拟器进行cmd + d
编译
查找编译的动态库
iphoneos
是真机生成的, iphonesimulator
是模拟器生成的, 生成的静态库和头文件在该文件夹下.拷贝文件夹下的.framework
文件到项目中
公开的头文件在Header
文件夹下, 引入项目即可使用
关于静态库和动态库(摘自简书)
静态库:以.a 和 .framework为文件后缀名。链接时会被完整的复制到可执行文件中,被多次使用就有多份拷贝。
动态库:以.tbd(之前叫.dylib) 和 .framework 为文件后缀名。链接时不复制,程序运行时由系统动态加载到内存,系统只加载一次,多个程序共用(如系统的UIKit.framework等),节省内存。
相关文章推荐
- xcode 8 /iOS10下静态库和动态库的区别 && framework的制作
- iOS中的静态库与动态库,区别、制作和使用
- iOS中的静态库与动态库,区别、制作和使用
- iOS 中的静态库与动态库,区别、制作和使用
- iOS静态库和动态库的介绍与制作
- iOS中的静态库与动态库,区别、制作和使用
- ios之Xcode6.1制作静态库
- ios中的静态库和动态库制作的一些小知识
- iOS中的静态库与动态库,区别、制作和使用
- iOS 静态库制作(Xcode9.0)
- iOS中的静态库与动态库,区别、制作和使用
- iOS中的静态库与动态库,区别、制作和使用
- iOS 中的静态库与动态库,区别、制作和使用
- IOS如何使用XCODE制作静态库
- 【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)以及利用CCSprite与CCLayerColor制作简单遮盖层!
- 技巧:Linux 动态库与静态库制作及使用详解
- xcode 4 制作静态库详解
- xcode 4 制作静态库详解(转载)
- 【转】XCode 4 制作静态库详解
- 利用gcc生成静态库和动态库