iOS开发iOSOC进化

iOS用workspace和cocoapods管理多个项目

2017-02-28  本文已影响4662人  春风酿酒

1.构建一个Workspace

1.png

如图选择构建一个WorkSpace,会生成.xcworkspace文件,以后就通过打开这个文件来打开WorkSpace。打开工程,会发现什么都没有,然后我们要添加各个工程(project)。我现在创建一个名为Myworkspace.xcworkspace的文件放在文件夹Workspace中。

2.创建并添加新工程

方法一:双击打开Myworkspace.xcworkspace,然后新建MyApp1工程,如下图,图中的红色框框内要记得改

2.png 3.png

方法二,如果已经有创建好了的工程,可以用这种方法添加进来。
先把创建好的工程MyApp2整个文件夹拖到文件夹Workspace中,然后在Xcode文管理文件的面板里,右键选择添加新文件,就把项目的MyApp2.xcodeproj文件加进来就可以了

4.png 5.png

重复上述动作,把所有需要的项目都加进来。虽然添加项目是可以任意路径的,但是建议把所有要添加的项目放到同一个文件夹里,这样便于像header search paths这类的路径配置。

3.互相引用

如果要在项目MyApp1中引用MyApp2中的文件,则必须要修改路径。在MyApp1的Build Settings 里找到Header Search Paths,添加一项$(SRCROOT)/../MyApp2(也可以直接将文件夹MyApp2拖到里面自动生成路径),并且设置为recursive。$(SRCROOT)是当前的工程路径,..是返回上一层,然后到MyApp2文件夹。使用了相对路径,为了是项目移动不会影响这个配置,只要主工程和其他工程的相对位置不变,这里的相对位置是固定在同一个文件夹。

7.png

接下来是引用文件

8.png 9.png 10.png

引入头文件时如果不引入.m文件会报错(如果是静态库可以引入.a文件,同时要公开.h文件,这样就不会报错了)

4.使用cocoaPods管理

用终端cd到根目录,用 $ touch Podfile命令创建Podfile文件,然后用xcode打开编辑

11.png 12.png
workspace 'MyWorkspace.xcworkspace' //workspace文件名
project 'MyApp2/MyApp2.xcodeproj' //主工程路径

target 'MyApp2' do
  platform :ios, '8.0'
  project 'MyApp2/MyApp2.xcodeproj' //工程路径
  pod 'Masonry', '~> 1.0.2'
end

target 'MyApp1' do
  platform :ios, '8.0'
  project 'MyApp1/MyApp1.xcodeproj' //工程路径
  pod 'Masonry', '~> 1.0.2'
  pod 'AFNetworking', '~> 3.1.0'
end

最后执行$ pod install指令就OK了
如果出现以下错误

13.png
则在header search paths中添加$(inherited)即可(或者先执行步骤4再执行步骤3也可避免此问题)
14.png
demo地址
上一篇下一篇

猜你喜欢

热点阅读