iOS中引用第三方类库的方法总结

2024-09-06 12:08

本文主要是介绍iOS中引用第三方类库的方法总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在我们开发iOS应用时,会经常使用到很多第三方开源类库,比如AFNetworking、FMDB等等

目前,引用第三方类库的方法有4种。比较推荐方法二和方法三,根据不同的第三方类库选择不同的方法。


1.cocoaPods

通过cocoaPods引入第三方类库
cocoaPods是iOS开发中最常用的类库管理工具,引用类库和更新类库都很方便,只需要一行简单的命令即可,统一管理第三方类库,提高开发效率。
听起来是不是觉得很美好?图样图森破,在实际开发中潜在很多问题。

1.安装好正确版本的cocoaPods

折腾了半天到一天时间,费尽千辛万苦排除各种错误,你以为只要安装好cocoaPods就好了?版本不对,项目一样编译不过,各种报错。通常只能卸载重新安装正确版本的cocoaPods。

2.添加新的第三方类库

项目中需要使用新的第三方类库,你小心翼翼的配置podfile文件,通过cocoaPods的命令直接安装第三方类库,你以为就万事大吉了?编译一下,发现又是一堆的错误,你开始一步步的排查,想知道哪里出现错误,查到最后才发现原来又是cocoaPods出问题!不知道什么时候cocoaPods默默的升级到最新版本!!然后又得卸载cocoaPods然后重新安装。

3.深度定制第三方类库

有时候,我们项目中只需要第三方类库的某个功能,并不需要所有的功能。或者需要深度定制第三方类库,根据项目实现自己的需求时,就不能使用cocoaPods来管理该类库。

4.cocoaPods自身引起的其他问题

cocoaPods本身就是一个第三方的管理工具,依赖一个不是非常靠谱的第三方的工具来管理另一些同样不是非常第三方类库本身就不是一个特别靠谱的方案,并且随着第三方类库的增加,潜在的问题会成比例的上升。


2.复制所有源文件

直接把第三方类库的所有源文件复制到项目中,即把所有的.m和.h文件添加到项目中

复制所有源文件,这种方法简单粗暴,但是有时候我们可能只需要第三方类库的某些功能,有很多源文件其实并没有作用,这时候其实没必要复制所有源文件,只需要添加和我们需要的相关功能的源文件即可,这样可以减少项目的大小。


3.静态链接库

将引用的静态链接库及头文件复制到项目中

通过静态链接库添加的第三方类库,由于添加的都是头文件并不包含.m文件,所以在项目中只能调用第三方类库方法不能修改或重写方法。所以一般采用这种方法的大部分是第三方的SDK,例如qq,微信,友盟的SDK都是采用这种方式添加到项目中。


4..xcodeproj文件

直接将.xcodeproj文件拖到项目中
这种方法由于直接将.xcodeproj文件直接拖到项目中,会将第三方项目中的全部文件都引用进来,而且编译项目时会同时编译自己的项目和第三方类库的项目,编译速度非常慢,所以不推荐使用。

这篇关于iOS中引用第三方类库的方法总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141965

相关文章

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

postgresql使用UUID函数的方法

《postgresql使用UUID函数的方法》本文给大家介绍postgresql使用UUID函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录PostgreSQL有两种生成uuid的方法。可以先通过sql查看是否已安装扩展函数,和可以安装的扩展函数