XCode多项目(xcodeproj)使用Cocoapod管理

最近搬砖比较忙,空闲的时候看的是关于算法方面的。关于算法自己觉得脑子不够用,想写点东西,但是感觉还没有到家。所以先写点其他的。

最近在写demo的时候遇到这个问题。平时开发大都是一个workspace下面的一个xcodeproj开发。由于这次的demo中有多个xcodeproj。而且这几个xcodeproj都需要用到cocoapod。这里顺便记录下解决的方法

更改podfile

首先工程的目录结构如下;


XCode多项目(xcodeproj)使用Cocoapod管理_第1张图片

之所以会出现这样的问题还是对podfile文件格式不熟悉。

原来cocoapod允许我们指定workspace以及每个target的xcodeproj文件的路径。原理就是这样,在每个target下面添加对应的路径即可。

总体来说就是这个样子

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
workspace 'SocketDemo.xcworkspace'

target 'SocketDemo' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for SocketDemo
  xcodeproj 'SocketDemo.xcodeproj'
  # 网络库
  pod 'CocoaAsyncSocket', '~> 7.4.3’

end


target 'SocketServe' do
    # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
    # use_frameworks!
    
    # Pods for CocoaAstnSocketDemo
    xcodeproj 'SocketServe/SocketServe.xcodeproj'
    # 网络库
    pod 'CocoaAsyncSocket', '~> 7.4.3’
    
end



target 'CocoaAstnSocketDemo' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for CocoaAstnSocketDemo
  xcodeproj 'CocoaAstnSocketDemo/CocoaAstnSocketDemo.xcodeproj'
  # 网络库
  pod 'CocoaAsyncSocket', '~> 7.4.3’

end

需要注意有一下几点。

  1. workspace必须填而且在所有target外面
  2. 每个target对应的xcodeproj写在每个target配置里面
  3. 如果没有指明xcodeproj和workspace的路径默认就会用根目录下面的*.xcodeproj*.workspace为标

你可能感兴趣的:(XCode多项目(xcodeproj)使用Cocoapod管理)