iOS-动态库创建(详解)
https://blog.csdn.net/LisztCoder/article/details/78132147
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LisztCoder/article/details/78132147
iOS的高级研发群:98787555
制作工具:Xcode7.2.1
话不多说直接上图。本人小白。大神意见请留言!不怠慢新手。所以此文章将会写的很详细!应该没有人刻意去创建一个真机使用或者模拟器使用的动态库吧。所以本文中直接创建通用的!
第一步,创建动态库工程
第二步,创建动态库工程名称
第三步,创建通用动态库文件>新建>目标> Aggretate
第四步,选中MyAggetate
第五步,创建脚本
第六步,编写通用脚本
具体代码为:
[objc] 查看纯文本
#设置目标文件夹和最终的框架产品。
#如果工程名称和Framework的目标名称不一样的话,要自定义FMKNAME
#例如:FMK_NAME =“MyFramework”
FMK_NAME = $ {} PROJECT_NAME
#安装目录将是框架的最终输出。
#以下行在当前项目的根文件夹中创建它。
INSTALL_DIR = $ {SRCROOT} / Products / $ {FMK_NAME} .framework
#工作目录将在框架创建后被删除。
WRK_DIR =构建
DEVICE_DIR = $ {} WRK_DIR /释放-的iPhoneOS / $ {} FMK_NAME .framework
SIMULATOR_DIR = $ {} WRK_DIR /释放-iphonesimulator / $ {} FMK_NAME .framework
#-configuration $ {CONFIGURATION}
清理和构建两种体系结构。
xcodebuild -configuration “Release” -target “$ {FMK_NAME}”- sdk iphoneos clean build
xcodebuild -configuration “Release” -target “$ {FMK_NAME}”- sdk iphonesimulator clean build
#清洗最老的
如果 [-d “$ {INSTALL_DIR}” ]
然后
rm -rf “$ {INSTALL_DIR}”
科幻
mkdir -p “$ {INSTALL_DIR}”
cp -R “$ {DEVICE_DIR} /” “$ {INSTALL_DIR} /”
#使用Lipo工具将二进制文件(i386 + armv6 / armv7)合并到一个通用最终产品中。
lipo -create“$ {DEVICE_DIR} / $ {FMK_NAME}” “$ {SIMULATOR_DIR} / $ {FMK_NAME}” - 输出 “$ {INSTALL_DIR} / $ {FMK_NAME}”
rm -r “$ {WRK_DIR}”
打开 “$ {INSTALL_DIR}”
第七步,切换到MyAggetate运行
如果不出异常会自动弹出动态报对应的文件夹
直到这里,创建动态库就完成了。接下来就是调试
第八步,添加动态库
现在导入后就可以运行了。由于本人留了联系方式所以就不做过多的解释。如有问题请加顶部QQ群询问!
————————————————
版权声明:本文为CSDN博主「LisztCoder」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LisztCoder/article/details/78132147
iOS-动态库创建(详解)的更多相关文章
- JNI_Android项目中调用.so动态库实现详解
转自:http://www.yxkfw.com/?p=7223 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.java package com.wwj. ...
- JNI_Android项目中调用.so动态库实现详解【转】
转自 http://www.cnblogs.com/sevenyuan/p/4202759.html 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.ja ...
- Android项目中JNI技术生成并调用.so动态库实现详解
生成 jni方式有两种:一种是通过SWIG从C++代码生成过度的java代码:另一种是通过javah的方式从java代码自动生成过度的C++代码.两种方式下的步骤流程正好相反. 第一种方式:由于需要配 ...
- JNI_Android 项目中调用.so动态库实现详解
转自:http://www.yxkfw.com/?p=7223 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.java package com.wwj. ...
- (笔记)Linux下的静态库和动态库使用详解
库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 一.静态库和动态库的区别 1. 静态函数库 这类库的名字一般是libxxx.a:利用静态函数库编译成的文件比 ...
- 深入探讨Linux静态库与动态库的详解(转)
2.生成动态库并使用 linux下编译时通过 -shared 参数可以生成动态库(.so)文件,如下 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 一.静 ...
- ios新特征 ARC详解
IOS ARC 分类: IOS ARC2013-01-17 09:16 2069人阅读 评论(0) 收藏 举报 目录(?)[+] 关闭工程的ARC(Automatic Reference Co ...
- STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解)
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) 前面 ...
- iOS 单元测试之XCTest详解(一)
iOS 单元测试之XCTest详解(一) http://blog.csdn.net/hello_hwc/article/details/46671053 原创blog,转载请注明出处 blog.csd ...
随机推荐
- 2.11 webdriver中使用 FileUtils ()
http://snkcxy.iteye.com/blog/1845862 ex: 比较网页截图图片与预期是否一致 File screenshot=((TakesScreenshot)driver ). ...
- Mysql中的触发器【转】
转载:https://www.cnblogs.com/chenpi/p/5130993.html 阅读目录 什么是触发器 特点及作用 例子:创建触发器,记录表的增.删.改操作记录 弊端 什么是触发器 ...
- Django_模型字段属性
""" 定义属性 概述 ·django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·在管理站点最低限度的验证 · ...
- 【Python】计算圆的面积
代码: r=29 area = 3.1415*r*r print(area) print("{:.2f}".format(area)) 结果:
- 洛谷 P3805【模板】manacher算法
题目链接:https://www.luogu.com.cn/problem/P3805 Manacher算法$O(n)$: 求以每个字符为中心的最长回文串的半径:如果要求可以以字符间隙为回文中心,就要 ...
- 【 Struts2 配置】Struts2基本搭建
struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBL ...
- Java - Test - TestNG: testng.xml 简介
1. 概述 简介 testng.xml 中的格式, 元素 2. 背景 testng.xml 概述 测试套件 的配置文件 问题 一下生成了那么多内容 我有点看不懂 一上来就看不懂, 其实很正常, 慢慢说 ...
- jquer_shijian 增加初始化 年月日 及 结束时间 年月日
增加了插件 在初始化的时候,控制 年月日,和结束 年月日 $(time_createobj).siblings(".xtw_budget_userdatafn_hide").shi ...
- AtCoder AGC038 C-LCMs 题解
题目链接:https://agc038.contest.atcoder.jp/tasks/agc038_c?lang=en 题意:给定一个数组,求这个数组中所有数对的LCM之和. 分析:网上看到了很多 ...
- mybatis - 执行 getById
1. getById 的执行 前面一篇 提到过, Mapper.java 创建的时候, 会通过 jdk 代理的方式来创建, 且代理处理类为: MapperProxy . 所以当执行 UserMappe ...