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 ...
随机推荐
- MVC5+EF6 入门完整教程3 :EF完整开发流程
https://www.cnblogs.com/miro/p/4053473.html 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程. 本次将会完成EF数据模型的搭建和使用. 基于这个模型, ...
- 代码架构.md
代码架构 待办 昨天待办 decription decription 我的流程逻辑(异常处理方式) 1568097677501.drawio.html 29.94 KB 异常的两种处理方式 异常的两种 ...
- 2019牛客多校第二场F Partition problem 暴力+复杂度计算+优化
Partition problem 暴力+复杂度计算+优化 题意 2n个人分成两组.给出一个矩阵,如果ab两个在同一个阵营,那么就可以得到值\(v_{ab}\)求如何分可以取得最大值 (n<14 ...
- 第二十七篇 玩转数据结构——集合(Set)与映射(Map)
1.. 集合的应用 集合可以用来去重 集合可以用于进行客户的统计 集合可以用于文本词汇量的统计 2.. 集合的实现 定义集合的接口 Set<E> ·void add(E) ...
- 2019新生赛 %%%xxh
笔记.md ...
- AcWing 240. 食物链
#include <iostream> using namespace std; ; int n, m; int p[N], d[N]; //p是baba,d是距离 int find(in ...
- 高内存 高CPU 劣质网络下的测试
内存 先把系统的虚拟内存去掉 (右键我的电脑属性里有的.选择那个无分页文件 虚拟内存在任务管理器就不显示了), 然后机子本身内存不高,开几个网页就满了 CPU cpu可以用鲁大师测试cpu ...
- Euler Sums系列(六)
\[\Large\displaystyle \sum_{n=1}^{\infty}\frac{H_{2n}}{n(6n+1)}\] \(\Large\mathbf{Solution:}\) Let \ ...
- 用eclipse发布springboot项目
使用eclipse打包springboot项目时一直报错 [ERROR] No compiler is provided in this environment. Perhaps you are ru ...
- Mac 配置cron
请参考:https://www.cnblogs.com/EasonJim/p/7819635.html 查看 crontab 是否启动 sudo launchctl list | grep cron ...