Xcode 添加从IPA提取的swift框架
我正在尝试运行由另一个开发人员创建的IOS应用程序,该开发人员正在使用我无权访问的私有存储库中的cocoapod。我设法从IPA中提取.framework捆绑包并将其添加到xcode项目中,但它没有被识别(我得到“没有这样的模块”) 有可能做到我想达到的目标吗 到目前为止,我所尝试的:Xcode 添加从IPA提取的swift框架,xcode,cocoapods,ipa,swift-framework,Xcode,Cocoapods,Ipa,Swift Framework,我正在尝试运行由另一个开发人员创建的IOS应用程序,该开发人员正在使用我无权访问的私有存储库中的cocoapod。我设法从IPA中提取.framework捆绑包并将其添加到xcode项目中,但它没有被识别(我得到“没有这样的模块”) 有可能做到我想达到的目标吗 到目前为止,我所尝试的: 在发行版中构建它,因为我猜IPA中的框架正在发行 将.framework添加为嵌入式二进制文件 将.framework添加为链接的框架和库 将.framework复制到~/System/Library/fram
- 在发行版中构建它,因为我猜IPA中的框架正在发行
- 将.framework添加为嵌入式二进制文件
- 将.framework添加为链接的框架和库
- 将.framework复制到~/System/Library/framework
- 更新框架搜索路径,包括$(SRCROOT)、递归、硬编码路径等
- 将.framework位置更改为“相对于生成产品”
谢谢 从ipa文件中获取项目中使用的框架并不是那么容易 当应用程序第一次运行时,以及存档应用程序时,所有链接的.frameworks都将转换为.dylib,即动态库 什么是静态库——编译时链接的代码单元,不会更改 什么是动态库-运行时链接的可能更改的代码和/或资产单元 框架框架是一个分层目录,它将动态库、头文件和资源(如故事板、图像文件和本地化字符串)封装到单个包中。使用框架的应用程序需要将框架嵌入到应用程序包中 动态库 一个动态lib文件就驻留在framework文件夹中 以下是apple文档中的描述 外部动态库 通常具有.dylib文件扩展名的框架包, 在iOS、watchOS或tvOS上不受支持,系统除外 由Xcode提供的Swift库 参考: 因此,您不能简单地将.dylib复制到xcode捆绑包并直接使用它。也有某种安全感 另一种方法 可以从.ipa文件反编译源代码。你将从下面的链接中获得想法
当应用程序被归档以进行分发时,似乎会从.framework捆绑包中删除
标题
和模块
文件夹
标题
文件夹包含Objective-C的.h标题,模块
文件夹包含Swift的.swiftmodule等效文件
如果没有这些文件,您就没有用于框架二进制文件的公共API,因此不幸的是,如果没有反向工程,框架将无法使用。那么您是如何获得.framework文件的?它将是.dylib文件..@ivowiblo你能添加到你所拥有的文件的问题列表中吗我很好奇。我不能在iOS上使用
dlopen
?