使用同一库的两个版本

2023-11-21

我正在开发一个 iOS 项目,其中包含另一家公司创建的静态库。 该库包含旧版本的 AFNeworking,我没有任何源文件。

现在我需要使用 afneworking 的更新(且 bug 较少)版本,但我不能在项目中两次包含同一个类(当然),因为所有“重复符号”。

我知道不可能替换库中包含的版本,但是我如何才能在旧版本中包含另一个版本?

在包含在我的项目中之前,有一种(简单的)方法可以重构整个框架吗?

thanks


您必须重新打包静态库才能删除嵌入的 AFNetworking 文件。

使用以下命令解压库:

$ ar x libwhatever.a

并重新打包它,包括除 AFNetworking 对象文件之外的所有文件:

$ ar cr libwhatever.a file1.o ... fileN.o

然后,您必须将可执行文件与新的 AFNetworking 静态库链接,并希望没有发生 API 更改,这会破坏其中的代码libwhatever.a。如果有的话我怀疑你能做很多事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用同一库的两个版本 的相关文章

随机推荐

  • 如何在运行批处理文件时不打开Cmd窗口

    我编写的每个批处理文件都会打开一个 Cmd 窗口并使其保持打开状态 直到程序完成 要在 bat 文件中包含什么命令字符串才能不打开 CMD 窗口或打开它并立即隐藏它 我必须留在 MSW7 Pro 内置编程的范围内 现在 我只是使用 msg
  • 串口二进制传输变回车

    上周我一直在尝试用 C 实现一个原始的串行文件传输协议 我遇到了一个非常奇怪的问题 我似乎无法在网上找到解决方案 我已经设法通过串行端口传输二进制数据并接收它 但在此过程中 所有 0D 字节都转换为 0A 以下是我的代码 include
  • 遗传算法中防止近亲繁殖和单一栽培(新手问题)

    我正在写一个遗传算法 我的人口很快就形成了单一文化 我使用的是具有少量离散基因 每个个体 24 个基因 的小群体 32 个个体 和单点交叉交配方法 将其与轮盘赌选择策略结合起来 很容易看出所有遗传多样性是如何在短短几十代内消失的 我想知道的
  • 使用导航抽屉保存片段状态

    我想在使用 android 导航抽屉切换片段时保存片段的状态 如果之前已加载过该片段 则不应刷新该片段 是否可以 要保持片段的状态 您必须调用setRetainInstance true 片段内的onCreate 它能做什么 控制fragm
  • $route.reload() 不适用于 ui-router

    我已经切换到用户界面路由器 一切都很顺利 除了一件事 在我的页面上 我有一个可以更改应用程序上下文的选择 无论如何 以前 当这个上下文改变时 我正在执行这段代码 特别是 set方法 use strict angular module mai
  • Firebase 10.0.:InternalFirebaseAuth.FIREBASE_AUTH_API 在此设备上不可用

    我正在使用 Firebase 身份验证 使用 Google 帐户 开发 Android 应用程序 最近每次尝试连接时都会遇到以下异常 com google firebase FirebaseApiNotAvailableException
  • 使用 DOS 或 BIOS 显示字符

    翻翻拉尔夫 布朗的中断列表 我发现有很多不同的方法可以将文本字符输出到屏幕上 ROM BIOS API 提供以下功能 AH 09h 在光标位置写入字符和属性 AH 0Ah 仅在光标位置写入字符 AH 0Eh 电传打字机输出 AH 13h 写
  • 如何使用 MySQL 函数按属性删除 JSON 数组中的对象?

    假设存储在 MySQL 中的以下 JSONjson数据类型 users group manager userID a123 group employee userID a456 如何删除用户对象 userID a456 不知道它在数组中的位
  • MaxExpansionDepth 与最新的 webapi 和微风

    我最近将所有 nuget 包更新为 EF6 的最新版本 breeze 1 4 5 system web http odata 5 0 0 0 以及所有其他可用的好东西 现在 对于包含 x y z 这样的扩展的一个查询 我收到如下错误 A f
  • 哪里可以下载JMXMP?

    我想使用 VisualVM 通过 JMX 远程分析 Java 应用程序 由于它是经过 NAT 和防火墙保护的 EC2 实例 因此我无法使用默认的 RMI 方法 而需要使用必须首先下载的可选 JMXMP 扩展 注意 如果您想使用 JMXMP
  • 如何在不重新启动服务器的情况下停止 Jenkins 上不可阻挡的僵尸作业?

    我们的 Jenkins 服务器有一个作业已经运行了三天 但没有做任何事情 单击角落里的小 X 不会执行任何操作 控制台输出日志也不会显示任何内容 我检查了我们的构建服务器 该作业实际上似乎根本没有运行 有没有办法通过编辑某些文件或锁定或其他
  • ASP.NET 中的两种方式数据绑定

    假设我们有一个对象 class Entity public string ID get set public string Name get set 我想将属性绑定到页面上的两个文本框 如下所示
  • pandas concat 用 NaN 填充非对齐索引

    Problem 我连接了两个 int 类型系列 而我返回的数据帧是 float 类型 发生这种情况是因为该系列的索引未对齐 并且当发生串联时 pandas 用 NaN 填充空白 然而 NaN 被认为是浮点数 不幸的是 我的所有整数都随之转换
  • Java Forkjoin 与 ExecutorService - 何时使用哪个?

    我刚刚读完这篇文章 Java 5 ThreadPoolExecutor 相对于 Java 7 ForkJoinPool 有什么优势 并觉得答案不够直接 你能用简单的语言和例子解释一下 什么是权衡Java 7 的 Fork Join 框架和旧
  • 仅限 jQuery 和 ReactJS 动画

    我只需要使用 jQuery 动画 请不要提及过渡 这是我的代码库 var CommentForm React createClass componentWillUnmount function cb console log hiding j
  • 删除表的存储过程

    我创建了一个存储过程 如果数据库中存在表 它将删除该表 当使用 EXEC 运行存储过程时 出现以下错误 消息 203 级别 16 状态 2 程序 sp DropIfExists 第 13 行 名称 IF 存在 从 sys objects 中
  • MySQL 视图的替代结构。它是什么?

    我们一直在使用 phpmyadmin 4 导出数据库 数据库包含一些视图 并且在通常的 CREATE VIEW 命令之前 有一个带有注释 视图 viewName 的替代结构 的 CREATE TABLE 命令 为什么使用这种替代结构 注意
  • 在最新的 xcode 5 中单独添加到 Storyboard 中的 UIViewController 后看不到 UIView

    我已将 UIView 拖放到 xcode 5 中情节提要中的 UIViewController 它已添加 但我在情节提要中看不到 UIView 有人有解决办法吗 在以前版本的 xcode 中 我确实按照以下链接描述的过程进行了操作 http
  • matlab:KeyPressFcn和WindowKeyPressFcn之间的区别

    Matlab 文档定义为KeyPressFcn是 由图形窗口具有焦点时发生的按键调用的回调函数 类似地 定义WindowKeyPressFcn是 当图形窗口或其任何子窗口具有焦点时发生的按键调用的回调函数 据我了解 图形的子对象是轴 绘图对
  • 使用同一库的两个版本

    我正在开发一个 iOS 项目 其中包含另一家公司创建的静态库 该库包含旧版本的 AFNeworking 我没有任何源文件 现在我需要使用 afneworking 的更新 且 bug 较少 版本 但我不能在项目中两次包含同一个类 当然 因为所