前言随着项目的进行,iOS 端的 framework文件越来越大,已经有些客户开始抱怨了,iOS 端的 framework瘦身也就相应的提上了日程,这里对我们 Framework 瘦身进行了一个小结。1. 精简代码这一步效果不是很大,主要对头文件的引用、重复代码、无用代码等进行了梳理。2. 编译优化2.1 优化ROI(Optimization Level)XCode编译优化选项中,Optimiza
1. 前言做客户端开发经常会有需要分析客户端体积的需求。比如引入了一个第三方库,这个库到底多大呢?同时,有些动态库封装了所有架构(比如x86_64,arm)的代码,但编译的时候实际打到安装包里的只有当前架构的那部分,那么这部分体积是多少呢?有时候一个模块写了很多方法,但是这些方法都没有被调用到,编译的时候实际打进安装包里的代码又有多少呢?只有真正了解了自己的安装包体积是有哪些部分构成的,才能有针对
转载 2023-07-11 19:27:30
223阅读
最近项目末期, 我们团队为了ipa的大小使用不少的体积减小的方法, 除了一些常规的方法之外, 我分享一下自己研究出来的新思路。首先我们来简单的介绍一下mach-O。什么是mach-O?Mach-O格式全称为Mach Object文件格式的缩写,是mac上可执行文件的格式,类似于windows上的PE格式 (Portable Executable ), linux上的elf格式 (Executabl
1,Xcode新建项目,不要选application,选择framework&library2,编写代码3,更改参数,在target下选中工程,在build setting下修改几个参数,dead code stripping选为no,link with standard libraries为no,Mach-o type 为 static library4,增加armv7s,在archit
# iOS Framework 打包指南 iOS开发中,Framework是一个非常重要的概念。它允许开发者将重复使用的代码模块化,便于团队协作和更新迭代。本文将详细介绍如何打包一个iOS Framework,并提供相应的代码示例和图示。 ## 一、创建项目 首先,确保你已经安装了最新版本的Xcode。为了创建一个新的Framework项目,请按照以下步骤操作: 1. 打开Xcode,选择
原创 10月前
215阅读
iOS中.a与.framework库的区别 从上面我们可以看出.a 和.framework的区别就是.a+.h+soureFile=.framework,这样的话,我们还是直接封装个.framework比较好。封装framework步骤1、打开xcode,新建工程这里我使用的是Xcode9,选择Cocoa Touch Framework,然后点next。 2、创建功能类或者拖入
用Xcode打开自己的应用后,双击uploadTest.mobileprovision授权文件,它会自己安装到Xcode中。 然后按下图中描述操作:  如果Team中没有选项:   添加你的开发者账号后Team中就会增加一个以你账号命名的选项,选择即可。(有可能会有延时,可能要等会儿出现) 注意:如果你的账号名下有两个选项,一个
转载 2024-03-06 17:52:15
271阅读
一、打包Framework 1、新建iOS->Framework & Library->Cocoa Touch Framework 2、选择next进入下一步 3、在PROJECT->Deployment Target->iOS Deployment Target选择你需要支持的最低系统。 同样的操作在TARGETS中,Deplo
转载 2023-11-22 23:49:20
216阅读
文中提到的优化措施,编写了python自动化脚本,适用于iOS项目。地址:GitHub - dongzhixuanyuan/imagesOptimize: Optimize images to decrease the App package size.目录图片复用无用图片清理图片压缩进行iOS App包体积优化工作时,图片处理的可优化空间最高,投入产出比最高。主要有如下几个优化方向:图片复用Ap
转载 2023-12-02 13:50:24
129阅读
新建工程并选择默认Target为Cocoa Touch Framework, 如图:做编码工作,在这里我简单的写了一个Utils的类,并写了一个log方法设置开放的头文件:Framework中有些类可能是一些私有的辅助工具,不需要使用者看到,在这里只需要把开放出去的类放到Public下, 如图这样生成的Framework的Headers目录下也只能看到Public的头文件编 码完成之后,直接Run
iOS静态库(.a 和framework) 一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。二、静态库与动态库的区别?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式? .a和.framework 四、iO
转载 2024-06-24 15:43:32
45阅读
创建 Framework 工程1. 创建打包工程打开 Xcode 新建一个工程,选择 Framework & Libray 选项中的 Cocoa Touch Framework ,这里说一下我的 Xcode 版本是 8.3.2 。因为要打包所需的文件,所以这里我自己创建了一个测试类,在实际的
转载 2023-11-03 21:59:47
773阅读
起因:有一天下午PM突然找我说,之前公司有一个自动打包平台现在怎么不好使了?然后我一回想,原来是那台电脑被收回去了。好吧,产品现在需要打包平台,那我只能搭建一个了。。。————————华而不实的分割线————————由于之前没搭建过,所以在网上搜了半天,找到的大多都是OS X server或者是macos server之类的文章,显然最新的macos server已经没有了相关的功能(具体可以看更
如果我们希望与别人共享某些函数,却又不愿意暴露实现的细节,怎么办呢?这时候可以将我们的代码封装成framework,对外提供接口而不暴露实现;不仅如此,将代码整合成framework还有很多其他的好处,这里就不一一列举。 下面就来看看如何打包framework 吧。1、 创建工程通过OS X > Framework&Library > Bundle
# iOS 打包 Framework 中嵌套其他 Framework 的完整指南 在 iOS 开发中,我们常常需要将多个功能模块抽离成独立的 Framework,以便于管理和复用。然而,在某些情况下,我们也需要将一个 Framework 嵌套到另一个 Framework 中。这篇文章将为您介绍如何在 iOS打包 Framework,并在其中嵌套其他 Framework 的具体步骤,并提供相关
原创 7月前
188阅读
摘要:Framework最近需要将公司项目中的公共代码给提取出来,打包Framework来使用,这样可以使得我们的公共代码易于分享,并且可以在多个工程中易于复用,而且将这些代码给别人使用时,可以隐藏实现细节,控制公开的头文件,下面分享一下打包Framework的步骤。1.打开xcode创建framework2.因为要打包所需的文件,所以这里我自己创建了一个测试类,在实际的打包过程中,直接把需要
# iOS Framework 打包资源的流程详解 在iOS开发中,打包Framework(框架)是一个常见且重要的任务。Framework使您的代码更具模块化和可重用性,在多个项目中共享功能。本文将详细阐述如何打包iOS Framework资源,并提供代码实例和流程图,帮助您理解整个过程。 ## 整体流程 打包iOS Framework资源可以分为以下几个步骤。这些步骤帮助您从开始到结束,
原创 9月前
76阅读
# iOS开发打包Framework的入门指南 在iOS开发中,创建和打包Framework是一个重要的技能。Framework允许你将重复使用的代码模块化,便于维护和分享。对于刚入行的小白,以下将详细介绍如何打包一个iOS Framework的流程。 ## 流程概览 我们可以将整个打包过程分为以下几个步骤: | 步骤 | 描述 | |------|
原创 2024-09-15 03:21:30
189阅读
引用一张博客的图片来理解下基本知识() 我们可以看出.a的封装和.framework的封装差不多,也有模拟器和真机合并的过程,通过上边的图片我们可以看出.a 和.framework的区别,就是.a+.h+soureFile=.framework。可以看出我们直接封装.framework其实是最好的。那么我们就来看看framework怎么封装的。步骤1、打开Xcode,新建工程名:MySDK2、创建
最近在做一个小项目,需要给客户一个demo测试,有一部分核心代码暂时不想让客户知道,就想到了打包framework或.a库。库有两种:静态库:.a和.framework动态库:.tbd和.framework静态库和动态库的区别.a文件肯定是静态库,. tbd肯定是动态库,.framework可能是静态库也可能是动态库静态库在链接时,会被完整的复制到可执行文件中,如果多个App都使用了同一个静态库
  • 1
  • 2
  • 3
  • 4
  • 5