原文链接: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>