Podfile指定Workspace - ShenYj/ShenYj.github.io GitHub Wiki
在已有的.xcworkspace项目中集成CocoaPods
-
项目准备
. ├── App │ ├── App │ │ ├── App.entitlements │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ ├── AccentColor.colorset │ │ │ │ └── Contents.json │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ └── App.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ └── shenyj.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ └── shenyj.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── Demo.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ └── shenyj.xcuserdatad │ └── UserInterfaceState.xcuserstate ├── LibA │ ├── LibA │ │ ├── Info.plist │ │ └── LibA.h │ └── LibA.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ └── shenyj.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ └── shenyj.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist └── LibB ├── LibB │ ├── Info.plist │ └── LibB.h └── LibB.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ └── shenyj.xcuserdatad │ └── UserInterfaceState.xcuserstate └── xcuserdata └── shenyj.xcuserdatad └── xcschemes └── xcschememanagement.plist 38 directories, 33 files- 有3个
Project, 分别是:App、LibA和LibB,LibA和LibB服务于App - 3个
Project被Demo.xcworkspace管理
- 有3个
-
默认在集成
CocoaPods时, 会自动为我们创建一个与项目同名的工作区-
因此我们只需要指定
.xcworkspace即可
-
-
创建并配置
Podfile文件-
进入到
App.xcodeproj统计目录, 执行pod init -
配置
Podfileplatform :macos, '11.1' # 指定workspace workspace '../Demo.xcworkspace' # 主工程 project 'App.xcodeproj' target 'App' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for App pod 'AFNetworking' end target 'LibA' do project '../LibA/LibA.xcodeproj' use_frameworks! end target 'LibB' do project '../LibB/LibB.xcodeproj' use_frameworks! end
- 关键参数
workspace和project -
xcodeproj在CocoaPods 1.0下过期, 在之后版本使用project
- 关键参数
-
-
执行
pod install完成配置
- 配置完
CocoaPods后会发现主工程有两个引用, 而且不论将Podfile放在.xcworkspace下还是主工程目录内, 都会这样, 手动删除一个即可