1 工作空间介绍
.xcworkspace是一个Xcode项目的工作空间文件。它是用于组织、管理和协调多个相关项目的
容器。其本身并不包含实际的源代码,而只是描述了项目之间的关系和配置。实际的源代码和
资源文件位于每个项目的.xcodeproj文件中。
2 创建流程
2.1 创建Workspace
-
打开Xcode,并选择 "File"菜单中的 "New"
-
选择并命名 "Workspace"(工作空间)
2.2 创建Project和Framework
2.2.1 新建项目到Workspace
-
双击打开新建的 .xcworkspace 文件
-
选择 "File" -> "New" -> "Project" -> "App/Framework"
-
将 "Add to" 和 "Group" 项更改为新建的 .xcworkspace 文件
2.2.2 添加现有的项目到Workspace
-
双击打开新建的 .xcworkspace 文件
-
右键单击左侧导航器区域,并选择 "Add Files to..."
-
选择 .xcodeproj 文件,然后点击 "Add" 按钮
-
重复以上步骤,逐个添加项目
2.3 创建Podfile和安装依赖
-
在Workspace的根目录下创建 "Podfile" 文件
-
编辑Podfile,添加要使用的第三方库依赖
-
在终端中,导航到Workspace的根目录
-
运行
pod install命令安装依赖
2.4 打开Workspace
- 关闭所有打开的Xcode项目和Workspaces
- 使用Finder找到并双击Workspace文件,用Xcode打开它
3 工程间的调用
3.1 主工程调用Framework
-
打开Xcode,选择主工程项目
-
选择 "Targets" -> "General" -> "Frameworks, Libraries, and Embedded Content"
-
导入指定Framework
-
在目标文件中 import Framework 即可使用
3.2 Framework互相调用
-
打开Xcode,选择Framework工程
-
选择 "Targets" -> "General" -> "Frameworks, Libraries, and Embedded Content"
-
导入指定Framework
-
在目标文件中 import Framework 即可使用
4 多项目管理中的Podfile
Podfile文件内容
platform :ios, '11.0'
# use dynamic frameworks
use_frameworks!
# 忽略库的所有警告
inhibit_all_warnings!
# workspace文件名
workspace 'SwiftDemo.xcworkspace'
# 主工程路径
project 'SwiftDemo/SwiftDemo.xcodeproj'
target 'SwiftDemo' do
# 主工程路径
project 'SwiftDemo/SwiftDemo.xcodeproj'
# Pods for SwiftDemo
pod 'Toast-Swift', '= 5.0.1'
pod 'IQKeyboardManagerSwift', '= 6.5.10'
pod 'Kingfisher', '= 6.3.1'
pod 'KingfisherWebP', '= 1.3.0'
pod 'SwiftyJSON', '= 5.0.1'
pod 'Alamofire', '= 5.6.1'
target 'SwiftDemoTests' do
inherit! :search_paths
# Pods for testing
end
target 'SwiftDemoUITests' do
# Pods for testing
end
end
target 'AppService' do
# framework工程路径
project 'AppService/AppService.xcodeproj'
# Pods for AppService
pod 'Alamofire', '= 5.6.1'
end
Swift版的Framework调用OC写的第三方库,必须在 .h 里声明头文件,才能调用
5 其他事项
当 command+shift+k清理Framework工程后,需要重新Build一下,否则无法直接运行主工程。
为了方便可以在Build中添加Framework工程,在编译主工程前按顺序编译Framework工程。