美文网首页
Xcode8 制作静态库

Xcode8 制作静态库

作者: 深山问 | 来源:发表于2017-04-20 12:18 被阅读59次

关于iOS的静态库,动态库,这篇文章很清楚 iOS 静态库,动态库与 Framework

这里主要讲一下怎么制作自己的静态库

制作静态库framework

(1) 创建framework,命名为SDSDK(本文中以SDSDK举例)
(2) 添加自己的文件
(3) 设置
  1. 设置Target version为你需要的版本,如8.0
  2. 设置Build Configuration 为Release


    屏幕快照 2017-04-20 上午11.56.51.png
  3. 设置静态库


    屏幕快照 2017-04-20 上午11.57.12.png
  4. Architectures添加armv7s,支持5和5C


    屏幕快照 2017-04-20 上午11.59.51.png
  5. 公开文件添加到Public Header中


    屏幕快照 2017-04-20 下午12.02.04.png
(4) 编译
  1. 选择真机,cmd+B 编译程序
  2. 选择模拟器,cmd+B 编译程序,结束后可以看到Products中的framework由红色变为不是红色
  3. 选中Procuts->SDSDK.framework,show in finder, 可以看到如下的结构


    屏幕快照 2017-04-20 下午12.06.23.png
  4. 合并两个framwrok为一个framework,注意合并的内容为下面红色标注的内容


    屏幕快照 2017-04-20 下午12.06.47.png

    打开终端,命令格式为

lipo -create "真机版本路径" "模拟器版本路径" -o "合并后的文件路径"

我直接cd到Products目录下,然后采用下面命令合并,最后的SDSDK为合并后的名称

lipo -create /Users/shendong/Library/Developer/Xcode/DerivedData/SDSDK-hiwmnkyzofjycdggievjxqjzsrxu/Build/Products/Release-iphoneos/SDSDK.framework/SDSDK /Users/shendong/Library/Developer/Xcode/DerivedData/SDSDK-hiwmnkyzofjycdggievjxqjzsrxu/Build/Products/Release-iphonesimulator/SDSDK.framework/SDSDK -o SDSDK
  1. 合并后的SDSDK替换到真机或模拟器文件里的SDK, 最终获得的framwork即我们要的framework
屏幕快照 2017-04-20 下午12.12.22.png
  1. 将最终的framework拖到你的项目中,即可使用
#import <SDSDK/SDSDK.h>

常见问题

(1) xcode8 framework missing submodule xxx 警告

创建framework时,如SDSDK.framework, 会自动生成SDSDK.h文件。如果我们添加一些自己的类, 并对外提供公开.h文件,则需要在SDSDK.h文件中添加子文件的声明文件。如下

#import <UIKit/UIKit.h>

//! Project version number for SDSDK.
FOUNDATION_EXPORT double SDSDKVersionNumber;

//! Project version string for SDSDK.
FOUNDATION_EXPORT const unsigned char SDSDKVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <SDSDK/PublicHeader.h>

#import <SDSDK/SDServie.h>
#import <SDSDK/SDServie+Cookie.h>

使用时,直接引用即可

#import <SDSDK/SDSDK.h>

相关文章

  • Xcode8 制作静态库

    关于iOS的静态库,动态库,这篇文章很清楚 iOS 静态库,动态库与 Framework 这里主要讲一下怎么制作自...

  • iOS小知识 -- 静态库(一)

    静态库静态库的介绍.a静态库的制作以及测试静态库的架构问题.framework静态库的制作以及测试边开发边制作静态...

  • iOS动态库、静态库及使用场景、方式

    前面介绍过制作过程,这里不讲如何制作动态库、静态库。 静态库和动态库都是以二进制提供代码复用的代码库。 静态库常见...

  • 制作静态库

    制作静态库创建静态库 frameWork 默认是动态库BuildSetting —> 搜索 “Mach” 更改...

  • iOS 制作静态库

    制作静态库 动态库:.dylib .framework 静态库:.a .framework 两者区别*:动态库时在...

  • ios中静态库.a的制作

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • ios中静态库.a的制作和使用

    在ios中制作静态库之前,先来了解关于静态库的一些概念。 八、静态库和动态库在使用上的区别。静态库:链接时,静态库...

  • iOS 开发库的制作

    注:本文只是简单的介绍一家静态库(framework)的制作。 静态库制作(创建framework)创建frame...

  • iOS framework制作及使用(包含xib和图片)

    制作framework目的:保密项目代码.制作SDK时常用静态库与动态库简介:静态库:链接使用时完整地拷贝至可执行...

  • swift ios 静态库的实现

    1.swift不支持.a的静态库,因此只能制作.framework的静态库 2.静态库的使用 3.纯swift静态...

网友评论

      本文标题:Xcode8 制作静态库

      本文链接:https://www.haomeiwen.com/subject/ikwkzttx.html