iOS 在工程内部创建一个静态库target
当你在开发项目的时候需要把公用的东西打包出来,其他项目方便使用的时候,打包成静态库是你的最优选择,在工程内部开发的时候新建一个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的更多相关文章
- Xcode6.1标准Framework静态库制作方法。工程转Framework,静态库加xib和图片。完美解决方案。
http://www.cocoachina.com/bbs/read.php?tid-282490.html Xcode6.1标准Framework静态库制作方法.工程转Framework,静态库加x ...
- iOS:Xcode7下创建 .a静态库 和 .framework静态库
Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...
- 创建cocoapod静态库发布到网上使用
1,在github上创建一个空仓库,要有licence和readme,clone到本地 2,pod lib create 项目名,这样就创建了一个静态库 3,pod spec create 项目名,创 ...
- VisualGDB系列7:使用VS创建Linux静态库和动态库
根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文介绍如何在VS中创建静态库和动态库, ...
- linux C 刚初始化后的一个变量在调用一个静态库中函数后被异常修改为乱码
linux C 中声明并初始化一个变量const char a[512]="test";后,接着调用了一个静态库中的函数函数test(b);,a并没有传入test函数,但在调用这个 ...
- 使用 Eclipse 创建一个静态的登录页面
要求: 使用 Eclipse 创建一个静态的登录页面 实现步骤: 在 Eclipse 中,点击"File",显示菜单,选择"New" "Other&q ...
- (iOS)谈谈关于使用category的静态库(原创)
最近在一个项目中使用了一个包含catecategory 的静态库,但是此项目在运行过程中,该静态库调用 category 增加的方法处,却报 selector not recognized 异常,会直 ...
- iOS——为Xcode编译POCO C++静态库
一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C+ ...
- Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序
http://cache.baiducontent.com/c?m=9d78d513d9d431a94f9d92697d60c015134381132ba1d0020fa48449e3732b4b50 ...
随机推荐
- 屏幕适配(UGUI)非UI
using UnityEngine; public enum Suit_UIType { Background, Effect, } [RequireComponent(typeof(Transfor ...
- windows将文件夹映射为虚拟磁盘
subst X: e:123 将e盘下的123文件夹映射为x盘,123的容量即x盘容量 subst X: /t 删除映射的x盘
- proto 3 语法
一.简介 proto3是新版本的protobuf语法.它简化了部分语法,并扩大了支持的语言,Ruby.C#.目前谷歌推荐只在是用新支持的语言或使用新的gRPC框架的时候使用.proto2和proto3 ...
- CentOS 7 通过SQLmap进行SQL注入
安装SQLmap: IP:192.168.94.11 渗透测试演练系统DVWA: IP:192.168.94.111 通过SQLmap检测SQL注入漏洞 : 1.安装SQLmap漏洞查看工具 2.安装 ...
- (转载)关于管理计算机\\xp1 找不到网络路径的解决方案
关于管理计算机\\xp1 找不到网络路径的解决方案 使用域管理员登录域控DC,然后打开AD用户和计算机 选择一台域成员计算机,然后选择管理,结果出现如下提示:点击确定后出现如下提示随后,立刻用域管理员 ...
- Docker Registry V2 Garbage Collection
运行 docker run --rm -v /nfs1/docker/registry:/var/lib/registry registry:2.5.1 garbage-collect -d /roo ...
- vue 监听变量或对象
注意:监听的对象必须已经在data中声明了 data: { a: 1, b: 2, c: 3, d: 4, e: { f: { g: 5 } } }, watch: { a: function (va ...
- golang中 "下划线" 的用法
1.忽略返回值 这个应该是最简单的用途,比如某个函数返回三个参数,但是我们只需要其中的两个,另外一个参数可以忽略,这样的话代码可以这样写: v1, v2, _ := function(...) 2.用 ...
- oracle group by placement可能导致错误结果的bug
Last week I’ve mentioned on Twitter that we ran into wrong result bug. We found workaround quickly b ...
- 剑指offer(58)对称的二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 题目分析 主要是要懂得如何去判断对称,比如描述一颗树我们可以通过两个序列就能得 ...