美文网首页
iOS用workspace和cocoapods管理多个项目

iOS用workspace和cocoapods管理多个项目

作者: 海浪萌物 | 来源:发表于2018-01-17 09:08 被阅读11次

原文链接:https://www.jianshu.com/p/e3cfae830985
<pre>
参考链接:https://www.jianshu.com/p/dea781bae7be
cocoaPods导入第三方后,引入头文件时没有提示。

解决方法:在Target->Build Setting->User Header Search Paths 添加 “$(PODS_ROOT)”,选择recursive

1.构建一个Workspace

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

2.创建并添加新工程

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

[图片上传失败...(image-8c7661-1516151069854)]

[图片上传失败...(image-21ccb6-1516151069854)]

方法二,如果已经有创建好了的工程,可以用这种方法添加进来。

先把创建好的工程MyApp2整个文件夹拖到文件夹Workspace中,然后在Xcode文管理文件的面板里,右键选择添加新文件,就把项目的MyApp2.xcodeproj文件加进来就可以了

[图片上传失败...(image-570d6d-1516151069854)]

[图片上传失败...(image-139532-1516151069854)]

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

3.互相引用

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

[图片上传失败...(image-bfe874-1516151069854)]

接下来是引用文件

[图片上传失败...(image-fb43e5-1516151069854)]

[图片上传失败...(image-480535-1516151069854)]

[图片上传失败...(image-b22ade-1516151069854)]

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

4.使用cocoaPods管理

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

[图片上传失败...(image-849676-1516151069854)]

[图片上传失败...(image-42ff12-1516151069854)]

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了

如果出现以下错误

[图片上传失败...(image-4990f9-1516151069854)]

则在header search paths中添加$(inherited)即可(或者先执行步骤4再执行步骤3也可避免此问题)

[图片上传失败...(image-fd294-1516151069854)]

作者:Topsky
链接:https://www.jianshu.com/p/e3cfae830985
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。</pre>

相关文章

网友评论

      本文标题:iOS用workspace和cocoapods管理多个项目

      本文链接:https://www.haomeiwen.com/subject/fijyoxtx.html