当你在开发项目的时候需要把公用的东西打包出来,其他项目方便使用的时候,打包成静态库是你的最优选择,在工程内部开发的时候新建一个target进行静态库的开发可以使你的开发调试更加方便而不是单独新建一个工程用于静态库的开发;

一:新建一个测试项目:

二:新建一个target工程选择静态库

 

三:处理静态库target:

新创建的静态库默认是动态库,需要手动更改为静态库

在SDK中手动创建的类默认都是受保护的,如果需要对外部公开需要将被保护的类放在public中:

然后就可以在项目中直接引用静态库了

四:创建好模拟器和真机framework后进行两个静态库的合并(根据业务需要,合并会增大静态库的体积支持模拟器和真机)

 

查询静态库支持的架构使用:

lipo -info /Users/le/Library/Developer/Xcode/DerivedData/RaymondSDK-cdkgvjlknapzomgplclbqzxswpmh/Build/Products/Release-iphoneos/TestSDK.framework/TestSDK

合并操作指令:(合并至真机版本)

lipo -create 真机路径 模拟器路径 -output 真机路径
lipo -create /Users/le/Library/Developer/Xcode/DerivedData/RaymondSDK-cdkgvjlknapzomgplclbqzxswpmh/Build/Products/Release-iphoneos/TestSDK.framework/TestSDK /Users/ley/Library/Developer/Xcode/DerivedData/RaymondSDK-cdkgvjlknapzomgplclbqzxswpmh/Build/Products/Release-iphonesimulator/TestSDK.framework/TestSDK -output /Users/y/Library/Developer/Xcode/DerivedData/RaymondSDK-cdkgvjlknapzomgplclbqzxswpmh/Build/Products/Release-iphoneos/TestSDK.framework/TestSDK

重新查询真机framework支持的架构输出 armv7 x86_64 arm64 同时支持真机和模拟器版本(摒弃了i386的支持)

iOS 在工程内部创建一个静态库target的更多相关文章

  1. Xcode6.1标准Framework静态库制作方法。工程转Framework,静态库加xib和图片。完美解决方案。

    http://www.cocoachina.com/bbs/read.php?tid-282490.html Xcode6.1标准Framework静态库制作方法.工程转Framework,静态库加x ...

  2. iOS:Xcode7下创建 .a静态库 和 .framework静态库

    Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...

  3. 创建cocoapod静态库发布到网上使用

    1,在github上创建一个空仓库,要有licence和readme,clone到本地 2,pod lib create 项目名,这样就创建了一个静态库 3,pod spec create 项目名,创 ...

  4. VisualGDB系列7:使用VS创建Linux静态库和动态库

    根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文介绍如何在VS中创建静态库和动态库, ...

  5. linux C 刚初始化后的一个变量在调用一个静态库中函数后被异常修改为乱码

    linux C 中声明并初始化一个变量const char a[512]="test";后,接着调用了一个静态库中的函数函数test(b);,a并没有传入test函数,但在调用这个 ...

  6. 使用 Eclipse 创建一个静态的登录页面

    要求: 使用 Eclipse 创建一个静态的登录页面 实现步骤: 在 Eclipse 中,点击"File",显示菜单,选择"New" "Other&q ...

  7. (iOS)谈谈关于使用category的静态库(原创)

    最近在一个项目中使用了一个包含catecategory 的静态库,但是此项目在运行过程中,该静态库调用 category 增加的方法处,却报 selector not recognized 异常,会直 ...

  8. iOS——为Xcode编译POCO C++静态库

    一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C+ ...

  9. Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序

    http://cache.baiducontent.com/c?m=9d78d513d9d431a94f9d92697d60c015134381132ba1d0020fa48449e3732b4b50 ...

随机推荐

  1. c# 传入c++dll 回调函数输出byte 导致 bug

  2. hive 调优手段

    调优手段 ()利用列裁剪 当待查询的表字段较多时,选取需要使用的字段进行查询,避免直接select *出大表的所有字段,以免当使用Beeline查询时控制台输出缓冲区被大数据量撑爆. ()JOIN避免 ...

  3. Vue学习1:实例及生命周期

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Vue系列之 => 命名视图实现经典布局

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  5. LinkedHashMap和HashTable

    LinkedHashMap: 继承了HashMap: 其中,key不允许重复是Map接口就有的性质: HashTable: 同步的,意味着是单线程,意味着线程安全的,但是速度慢,和List接口集合的子 ...

  6. axios、ajax、fetch三者的区别

    1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新 优缺点: 1)局部更新 2)原生支持,不需要任何插件 3)原生支持, ...

  7. 2019/4/11 wen 常用类2

  8. 剑指offer(36)两个链表中的第一个公共节点

    题目描述 输入两个链表,找出它们的第一个公共结点. 题目分析 我发现关于链表的题都涉及双指针,大家做的时候记得用双指针. 题目理解了就很好做了,比较简单,先在长的链表上跑,知道长的和短的一样长,再一起 ...

  9. 剑指offer(61)序列化二叉树

    题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 题目分析 首先拿到题目时候,我先想到的是什么是序列化二叉树?序列化主要就是在前后端交互时候需要转换下,毕竟网络传输的是流式数据(二进制或者文本 ...

  10. legend2---开发日志10(ajax请求的方法是否同样会执行base控制器里面的方法)

    legend2---开发日志10(ajax请求的方法是否同样会执行base控制器里面的方法) 一.总结 一句话总结:会执行的,所以写base控制器里面的方法要注意,base控制器里面的方法要以查数据为 ...