Skip to content

Podfile指定Workspace

ShenYj edited this page Jan 26, 2021 · 2 revisions

Podfile指定Workspace

在已有的.xcworkspace项目中集成CocoaPods

  1. 项目准备

    .
    ├── 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, 分别是: AppLibALibB, LibALibB服务于App
    • 3个ProjectDemo.xcworkspace管理
  2. 默认在集成CocoaPods时, 会自动为我们创建一个与项目同名的工作区

  3. 创建并配置Podfile文件

    • 进入到App.xcodeproj统计目录, 执行pod init

    • 配置Podfile

      platform :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
      • 关键参数workspaceproject
      • xcodeprojCocoaPods 1.0下过期, 在之后版本使用project
  4. 执行pod install完成配置

  • 配置完CocoaPods后会发现主工程有两个引用, 而且不论将Podfile放在.xcworkspace下还是主工程目录内, 都会这样, 手动删除一个即可

Getting Started

Social

Clone this wiki locally