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 ...
随机推荐
- rpm命令怎么指定安装位置
rpm -ivh --prefix=路径 FILE.rpm
- 洛谷P1327 数列排序
https://www.luogu.org/problem/P1327 #include<bits/stdc++.h> #define Ll long long using namespa ...
- codeforce D. White Lines
二维前缀和 给你一个n*n的矩阵,里面有两种字符,‘W’和‘B’,代表black 和white .其实这个矩阵就是一个方形画板,你有一个k*k的橡皮只能用一次,使k*k的矩阵里的B变成W,问完全空白的 ...
- Hive文件与记录格式
1. Hive文件与记录格式 Create table 有多种用法,例如STORED AS SEQUENCEFILE, ROW FORMAT DELIMITED, SERDE, INPUTFORMAT ...
- 程序设计实验:一个Python游戏,体验软件开发。
小组在GitHub上找了一个Pygame实现的超级马里奥游戏.所以我的学习过程大致如下: 1.快速学习Python基础语法. 2.学习pygame并着手理解这个项目. 3.完成作业以及各种文档报告. ...
- MySql 怎么存取 Emoji
01.前言 Emoji 在我们生活中真的是越来越常见了,几乎每次发消息的时候不带个 Emoji,总觉得少了点什么,似乎干巴巴的文字已经无法承载我们丰富的感情了.对于我们开发者来说,如何将 Emoji ...
- mediasoup-demo安装记录
环境CentOS 7 64位 VMWare12虚拟机(win10主机),安装好NodeJS 10.13(大于8.9就可以) 已按照GitHub说明拉下来代码,配置好Node环境,开始执行npm sta ...
- Git 把码云上被fork项目源码merge到fork出来的分支项目
Git 把码云上被fork项目源码merge到fork出来的分支项目 By:授客 QQ:1033553122 需求描述 被fork的项目有更新代码,希望把更新的代码merge到fork分支项目 解决方 ...
- 谈谈我对Promise的理解
一.Promise是什么? Promise是最早由社区提出和实现的一种解决异步编程的方案,比其他传统的解决方案(回调函数和事件)更合理和更强大. ES6 将其写进了语言标准,统一了用法,原生提供了Pr ...
- 脚手架搭建的react中使用bootstrap
1.在react的index.html文件中加个jQuery的引入 <script src="http://cdn.bootcss.com/jquery/3.3.1/jquery.mi ...