
iOS 架构之路
iOS 架构之路
沐雨07
Keep Learning!
展开
-
iOS架构-将整个Xcode项目打包成静态库Framework(25)
一、介绍1、背景考虑到上架App的安全性和后期代码管理的一些内容,以及现有马甲和超级App的一些业务上,越来越多的涉及到大模块的内容搬移和共享,所以权衡各种方式之后,考虑使用静态库的方式来把独立业务部分用静态库的方式加载和共享。2、静态库介绍什么是库?共享代码便是库,实现代码的复用,一般分为静态库和动态库。静态库和动态库的区别?静态库:链接时完整的拷贝到可执行文件,多次使用多...原创 2019-10-14 15:52:10 · 4480 阅读 · 1 评论 -
iOS架构-静态库.a编译时自动导出.h头文件(24)
在使用Xcode成功编译一个静态库时,在对应的输出目录下有一个include目录,但是其中没有相关的.h头文件。由于.h文件和 .cpp文件是在同一个目录下,再加上文件数量较多,如果手动的将.h文件导出会是件很麻烦的事。步骤选择指定的项目和Target展开“Build Phases”下的“Copy Files”,点击红框3标注的+按钮在红框标注的输入框中输入:*.h这是为了将项目中的.h...原创 2019-10-11 10:24:37 · 1188 阅读 · 1 评论 -
iOS架构-Xcode创建Workspace管理多个子工程(23)
之前Workspace的使用仅限于cocoapods管理第三方库时会自动一个Workspace的管理文件,却一直没有用Workspace管理多个工程,不知道它的强大。今天介绍一下如何管理多个工程。优点:可以在一个目录下查看、编码多个工程。不用打开多个窗口。1.创建一个Workspace首先打开Xcode,打开File -> New -> Workspace,如下图:然后命名...原创 2019-10-10 16:43:22 · 1194 阅读 · 1 评论 -
iOS架构-xcodebuild常用命令(22)
xcodebuild 是苹果发布自动构建的工具。一般持续集成的时候都需要用到它。在终端输入xcodebuild --help可以查看查看用法及介绍。xcodebuild官方文档在介绍中可以看到,xcodebuild主要就是用来构建projects和workspaces的:xcodebuild -- build Xcode projects and workspaces关于xcodebuil...原创 2019-07-16 13:42:17 · 772 阅读 · 0 评论 -
iOS架构-自动打包并上传到App Store(python)(21)
这里是摘自一篇用python 语法写的脚本,这里只是为了更好的理解自动化打包上传App Store的原理的。iOS 自动打包并上传到App Store(python)我们平时大都是用Application Loader一步一步的上传我们好不容易编译出来的.ipa,其实它也是内有乾坤,不信?请看苹果官方文档,使用它直接可以直接验证和上传使用 Application Loader 通过 alto...原创 2019-07-16 09:54:38 · 945 阅读 · 0 评论 -
iOS架构-制作属于自己的cocoapods以及podspec文件讲解(20)
我们在 iOS架构-cocoaPods之自制私有库及管理(17) 中已经介绍了私有cocoapods库的制作。其中已经涉及podspec文件。这里单独拉出来介绍podspec文件。使大家对podspec文件的作用和用法有个清晰、明确的认识。制作属于自己的cocoapodsiOS架构-cocoaPods之自制私有库及管理(17)中已经实现过不再介绍Podspec语法官方地址:http://...原创 2019-07-15 14:28:23 · 2155 阅读 · 0 评论 -
iOS架构-多工程联编及framework之间的相互调用(19)
对于大公司,大工程来说,业务线很多,也时刻在变,功能模块要求能随时下线,或者业务不再需要了,就需要从主工程中移除相关工程或者库。以减小包的大小。多工程联编是一种多业务合作的一种方法。有篇文章写的很详细,我就不再重复写了。直接转到原文查看吧!文章摘自:iOS多工程联编及framework之间的相互调用此篇作为专题:iOS架构 的补充文章。...原创 2019-07-15 11:14:03 · 1512 阅读 · 0 评论 -
iOS架构-cocoaPods之Podfile语法(18)
podfile语法前言iOS开发会经常用到cocoapods管理第三方,简单、方便、高效。如何集成cocoapods在cocoapods官网和Podfile语法说明会有详细介绍,本想介绍的是关于集成cocoapods时会用到的一个文件Podfile文件。什么是PodfilePodfile是一个规范,描述了一个或多个一套工程目标的依赖项,Podfile语法。需要不同复杂程度不同。一个简...原创 2019-07-12 20:27:10 · 1576 阅读 · 0 评论 -
iOS架构-cocoaPods之自制私有库及管理(17)
创建一个私有的podspec包括如下那么几个步骤:创建并设置一个私有的Spec Repo。创建Pod的所需要的项目工程文件,并且有可访问的项目版本控制地址。创建Pod所对应的podspec文件。本地测试配置好的podspec文件是否可用。向私有的Spec Repo中提交podspec。在个人项目中的Podfile中增加刚刚制作的好的Pod并使用。更新维护podspec。1. 创...原创 2019-07-11 20:31:47 · 541 阅读 · 0 评论 -
iOS架构-cocoapods之公共库的发布与集成(16)
描述:我们开发iOS 项目时,几乎每个工程都会集成用cocoapods 管理第三方库,于是就有这样的需求–我分装了一个独立的SDK模块,想让其他人通过pod search 到,并能使用这个开源的SDK。这里就记录一下过程。...原创 2019-05-24 15:20:46 · 478 阅读 · 1 评论 -
iOS架构-cocoapods之本地git库的管理(15)
需求是:在工程中用cocoapods管理一个本地的一个抽离SDK库。和cocoapods管理远程的github的公开的库AFNetworking 一样管理自己的本地的一个库。怎么实现:参看CocoaPods之本地git库的管理[一] 实现步骤,练习这样的用法。...原创 2019-05-17 15:49:10 · 564 阅读 · 1 评论 -
iOS架构-cocoapods打包静态库(依赖私有库、开源库、私有库又包含静态库)(14)
cocoapods打包静态库(依赖私有库、开源库、私有库又包含静态库)原创 2019-05-15 11:37:06 · 5547 阅读 · 1 评论 -
iOS架构-C/C++lame库在Mac下编译通用静态库.a库(13)
C/C++ 有很多成熟的库,还有很多特殊功能的库,有时候iOS 平台开发一些比较前沿或者冷门的功能时,iOS并没有提供解决方案,这时候就可以研究C/C++的一些库,为我们使用。但是在Xcode编译C/C++ 源码简直是噩梦,今天就讲一下把下载的C/C++ 库编译成静态.a 这种熟悉的方式调用第三方库。需要提醒的是:要具备一定的脚本知识,以及编译的步骤。不懂得需要花时间去一点点研究。不是一天两...原创 2019-05-09 19:17:17 · 1073 阅读 · 1 评论 -
iOS架构-c++工程在Mac下编译成.a库并调用(12)
前言: 有时侯需要使用c++的一些代码库,这里先讲一下Xcode 建C++ 工程,并将代码编译成.a库,提供给demo使用。这里只是简单的介绍,以后会继续介绍如何将公开的C/C++源码编译成OC使用的静态库.a。第一步 准备a. Xcode 新建一个 c++ 工程 CPPtest(macoOS 平台下)选择C++b. 新建一个类 worldworld.hpp 代码//// Cre...原创 2019-05-07 11:29:18 · 6093 阅读 · 2 评论 -
iOS架构-分离静态库.a文件并导出.m伪代码文件(11)
之前合成了静态库.a, 有时候我们会拿到别人提供的静态库,但是编译报错,这时候最先要考虑的一步就是这个静态库是否支持我们编译的架构。怎么查看支持的架构?废话不多说!下面亲自实验一下第一步:准备一个静态库.a文件,比如我们之前制作的 libVideoPlayerLib.a,放在桌面的test目录里。第二步:打开终端:cd 到 libVideoPlayerLib.a 所在的文件夹tes...原创 2019-05-05 20:29:06 · 3513 阅读 · 1 评论 -
iOS架构-制作静态库.a和.framework 的相互依赖(10)
有一句名言:当你知道的东西越多,你才会发现你不懂的东西越多。现在我有点体会到了,当我去了解静态库,我发现我要学习脚;当我接触编译C/C++库,我发现我要去了解交叉编译;当我想了解组件化架构,我发现我要去理解cocoapods管理;… 你所处的环境越大,你的视野也就越宽阔。前面9篇文章介绍了 .a 静态库的制作、.framework 静态库的制作、.a 依赖第三方.a 静态库制作以及 .fra...原创 2019-05-10 16:55:18 · 1183 阅读 · 2 评论 -
iOS架构-静态库.framework(引用第三方SDK、开源库、资源包)(9)
前面介绍了静态库.a依赖第三方静态库.a的制作静态库.framework之依赖第三方库(Cocoapods进行管理)今天课题: 静态库.framework(引用第三方SDK.framework、第三方开源库、资源包bundle)第三方SDK:指.framework;第三方开源库:指像AFNetworking、SDWebImage等开源的代码库;同理:静态库.a(引用第三方.a、第...原创 2019-05-10 10:46:21 · 2738 阅读 · 1 评论 -
iOS架构-静态库.a之依赖第三方静态库.a的制作(8)
上一篇讲的是静态库.framework 依赖第三方库,是通过Cocoapod 提供的第三方库。而有时我们会依赖第三方.a 或者.framework 的。那么怎么样来制作依赖第三方.a 或者.framework 的静态库.a 尼?这篇文章演示一下制作依赖第三方.a 的静态库。目标:将第三方的静态库(*.a)打包进我们自己的静态库.a中实验例子:我们将使用 iOS架构-静态库.a的打包及使用...原创 2019-04-29 14:25:40 · 2002 阅读 · 1 评论 -
iOS架构-静态库.framework之依赖第三方库(7)
需求分析: 把自己的能力封装成静态库提供给客户使用,但是有些工作市场上已经有很好的公开的代码,或者成本很低的解决方案,我们就可以使用别人公开的、或者低成本采购的技术来为我们服务。制作静态库也是一样,有时我们需要依赖已经成熟的第三方库来为我们服务。那么如何依赖第三方库制作自己的静态库.framework尼?目标根据之前.framework制作基础,演示依赖第三方库YYModel 制作....原创 2019-04-28 19:35:03 · 7020 阅读 · 1 评论 -
iOS架构-静态库.framework之资源文件打包bundle(6)
[iOS架构-静态库.framework手动打包及脚本化打包(5)](https://blog.youkuaiyun.com/shifang07/article/details/89372877)中介绍了.framework的脚本化打包,虽然在[iOS架构-静态库.a打包之资源文件打包成bundle(4)](https://blog.youkuaiyun.com/shifang07/article/details/89356701)中已经演示过,其实是一样的。但在这里还是补充一下.framework资源文件的使用。以免部分读者心里原创 2019-04-22 17:59:32 · 2632 阅读 · 1 评论 -
iOS架构-静态库.framework脚本化打包补充(5)
静态库.framework脚本化打包打包已经在iOS架构-静态库.framework手动打包及脚本化打包(5)中讲过。这里补充是通过Xcode 配置Aggregate自动执行脚本打包Framework或者static library(.a)静态库的操作。以及检验支持的架构。Architectures与Valid Architectures指令集在Xcode6.1.1及以上Architect...原创 2019-10-11 20:34:10 · 862 阅读 · 1 评论 -
iOS架构-静态库.framework手动打包及脚本化打包(5)
.framework原创 2019-04-22 14:18:15 · 1531 阅读 · 3 评论 -
iOS架构-静态库.a打包之资源文件打包成bundle(4)
iOS架构-静态库.a的打包及使用(一)iOS架构-静态库.a的脚本化打包及使用(二)资源文件主要包括:xib、图片以及其他文件资源(json、string等)。这里主要介绍xib、图片。其他的资源和图片打包使用类似。 上面两篇介绍静态库.a的手动和自动打包以及使用方法,但是通常在大工程组件化架构中,许多模块都是一个静态库(也可以是动态库的形式,后面会介绍)的形式提供给主栈调用的,...原创 2019-04-17 18:27:41 · 1758 阅读 · 1 评论 -
iOS架构-静态库.a的脚本化打包及使用(3)
iOS架构-静态库.a的脚本化打包及使用(二)原创 2019-04-11 17:21:09 · 2060 阅读 · 0 评论 -
iOS架构-静态库.a的打包及使用(2)
补充知识-框架分类:模拟器架构:• i386 : 32位架构 4S ~ 5• x86_64 : 64位架构 5S ~ 现在的机型真机架构:• arm7: 在最老的支持iOS7的设备上使用• arm7s: 在iPhone5和5C上使用• arm64: 运行于iPhone5S的64位 ARM 处理器 上目标:打包成模拟器和真机都能运行的静态库.a包,形成SDK文件包提供给客户使用...原创 2019-04-10 11:14:23 · 1939 阅读 · 1 评论 -
iOS架构-组件化入门(1)
iOS架构组件化https://www.jianshu.com/p/2d89f55fc2c4iOS架构组件化此篇为iOS组件化研究的基础篇,主要是一些组件化的认识,以及益处,必要性。1.手机淘宝客户端架构探索实践2.组件化架构漫谈3.蘑菇街 App 的组件化之路4.iOS应用架构谈 组件化方案...原创 2019-07-08 17:49:40 · 650 阅读 · 1 评论 -
iOS架构-静态库.a 和.framework的区别(0)
原文网址:https://my.oschina.net/kaqijiang/blog/649632一、什么是库?库是共享程序代码的方式。库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。iOS中的静态库有 .a 和 .framework两种形式;动态库有.dylib 和 .framework 形式,后来.dylib动态库又被苹果替换成.tbd的形式。...转载 2019-04-18 10:13:11 · 726 阅读 · 1 评论 -
(0026)iOS 开发之模块化封装初步实践
由于工程不大不小,功能也不断增加!之前没有很好的架构,造成工程现在很混乱。每次更新都会带来一些麻烦!一直想把工程模块化和插件化!经验有限!现在开始一些实践!这里对工程一个消息中心的模块,进行模块化开发,效果很好!需求:消息类型(登录可见和未登录可见) 消息属性:标题型和图文型1.消息类型和详情由服务器从数据库中筛选2.进入分类分类角标清零 且需要回执服务器...原创 2017-03-13 16:20:11 · 601 阅读 · 0 评论