一、添加 .framework
文件到项目
-
拖拽或手动添加
- 在Xcode中,直接将
.framework
文件拖入项目导航器的目标文件夹中,
确保.framework
文件被复制到项目目录内(非外部路径)。 - 或通过菜单操作:
General → Frameworks, Libraries, and Embedded Content → 点击 + → Add Other → 选择.framework
文件 - **如果framework文件的右边图标有小箭头,则framework文件没有拷贝到项目的文件夹中,show in Finder把framework文件拖到对应的项目文件夹中,选中framework文件右键选择 Add files to "项目名"。**
- 在Xcode中,直接将
-
选择 Embed 选项, 在 Xcode 的 General → Frameworks, Libraries, and Embedded Content 中,点击
.framework
右侧的下拉菜单选择对应选项- 静态库(Static Framework):选择 Do Not Embed
- 动态库(Dynamic Framework):选择 Embed & Sign
二、配置编译设置
-
确认链接状态
- 在 Build Phases → Link Binary With Libraries 中检查
.framework
是否已存在。
- 在 Build Phases → Link Binary With Libraries 中检查
-
**设置搜索路径(非默认路径时)**
- Build Settings → Framework Search Paths :添加
.framework
所在目录的路径(支持绝对或相对路径)。
- Build Settings → Framework Search Paths :添加
-
调整架构与优化
- Build Settings → Architectures :设置为
Standard architectures (arm64)
。 - Dead Code Stripping :设为
NO
(避免静态库代码被剥离) - Mach-O Type :静态库设为
Static Library
,动态库设为Dynamic Library
。
- Build Settings → Architectures :设置为
三、代码中使用 .framework
-
引入头文件
- Swift:直接通过
import FrameworkName
调用 - Objective-C:在桥接文件中添加
#import <FrameworkName/Header.h>
。
- Swift:直接通过
-
清理与构建
- 执行 Product → Clean Build Folder 后重新编译项目。
常见问题
- 编译报错"Module not found" :检查 Framework Search Paths 路径是否正确。
- 符号重复或冲突 :确保依赖的
.framework
与其他库无重复代码。 - 真机/模拟器兼容问题 :通过
lipo
合并多架构版本(仅限静态库)