XCode多项目(xcodeproj)使用Cocoapod管理
2017-05-13 本文已影响170人
纸简书生
最近搬砖比较忙,空闲的时候看的是关于算法方面的。关于算法自己觉得脑子不够用,想写点东西,但是感觉还没有到家。所以先写点其他的。
最近在写demo的时候遇到这个问题。平时开发大都是一个workspace下面的一个xcodeproj开发。由于这次的demo中有多个xcodeproj。而且这几个xcodeproj都需要用到cocoapod。这里顺便记录下解决的方法
更改podfile
首先工程的目录结构如下;

之所以会出现这样的问题还是对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
需要注意有一下几点。
- workspace必须填而且在所有target外面
- 每个target对应的xcodeproj写在每个target配置里面
- 如果没有指明xcodeproj和workspace的路径默认就会用根目录下面的
*.xcodeproj
、*.workspace
为标