Objective c iOS-生成失败,CocoaPods找不到头文件

Objective c iOS-生成失败,CocoaPods找不到头文件,objective-c,ios,cocoa,build,cocoapods,Objective C,Ios,Cocoa,Build,Cocoapods,我有一个使用CocoaPods的iOS项目。在另一个开发人员开始处理同一个项目之前,一切都很顺利。他做了一些修改(据我所知只是对代码进行了修改),并在回购协议中设立了一个新的分支机构。我已经签出了他的分支并尝试构建它,但我得到了一个错误:找不到ASLogger/ASLogger.h文件 即使我删除了整个项目并制作了一个新的副本并使用“pods install”,构建失败仍然存在。你知道问题出在哪里吗?如果您需要更多信息,请询问。提供了解决此问题的建议: 如果Xcode找不到依赖项的标题: 检查p

我有一个使用CocoaPods的iOS项目。在另一个开发人员开始处理同一个项目之前,一切都很顺利。他做了一些修改(据我所知只是对代码进行了修改),并在回购协议中设立了一个新的分支机构。我已经签出了他的分支并尝试构建它,但我得到了一个错误:找不到ASLogger/ASLogger.h文件

即使我删除了整个项目并制作了一个新的副本并使用“pods install”,构建失败仍然存在。你知道问题出在哪里吗?如果您需要更多信息,请询问。

提供了解决此问题的建议:

如果Xcode找不到依赖项的标题:

检查pod头文件在pod/头文件中是否正确符号链接 并且您没有覆盖标题搜索路径(请参见#1)。If-Xcode 仍然找不到它们,作为最后的手段,你可以预先准备你的进口, e、 g.#导入“Pods/SSZipArchive.h”

更新

自从我最初的答案被否决后,我已经更新了这个,所以我希望这能有所帮助。如果真的这样做了,我希望它能收回我的选票

如果未导入标题,则
标题搜索路径中可能存在冲突。尝试将
$(继承)
添加到构建设置中的标题搜索路径,以确保它从CoCoapod中拉入.xConfig文件中包含的任何搜索路径


这将有助于解决任何冲突,并正确导入源代码。

其他两个答案在这里都没有帮助。我发现还有两个问题可以解决:

  • Xcode项目(您的项目)中的Project->Info->Configurations应该设置为'Pods',用于调试、发布(以及您拥有的一切)。看

  • 也许你必须用link_with命令链接目标。看

编辑 您可以通过以下方式检查符号链接:创建一个名为“check”的文本文件,但不带扩展名。将这些行复制到其中:

file=/Users/youUserName/XcodeProjectName/Pods/BuildHeaders/SVProgressHUD/SVProgressHUD.h
if [[ ! -e $file &&  -L $file ]]; then
  echo "$file symlink is  broken!"
else
  echo "symlink works"
fi
然后转到终端,切换到支票文件所在的文件夹并键入

bash check

以下是对我有效的方法:

转到目标>“生成设置”选项卡并找到“用户标题搜索路径”设置

将其设置为“$(内置产品目录)”并选中“递归”复选框

现在,构建目标将搜索工作区的共享构建目录,以找到可链接的头文件

====

更新


我最近有一个类似的问题(尽管略有不同)。原来Xcode找不到pod,因为我打开了
.xcodeproj
文件,而不是
.xcworkspace
文件。将来可能会帮助别人。

头文件,你将是我的死神

最后通过添加(包括引号)使其正常工作


到用户标题搜索路径条目,并选中“递归”。

是否尝试导入Cocoapods样式

#import <ASLogger.h>
#导入


更新:他们拉取了我的请求:)

我发现
${PODS\u HEADERS\u SEARCH\u PATHS}
缺失,并且它没有在我的develop git分支中定义,所以我为带有递归的头搜索路径添加了
“$(SRCROOT)/PODS/HEADERS/”

这对我来说没关系

更新

确保您的
Podfile
包含
link\u与缺少配置文件的目标进行链接。椰子荚则不然。e、 g

platform :osx, '10.7'
pod 'JSONKit',       '~> 1.4'

link_with 'Pomo', 'Pomo Dev', 'Pomo Tests'
------结束更新


注意:请注意,对于以下步骤,您必须查看项目->信息->配置。


我有类似的症状,并发现
pods.xcconfig
文件未包含在我试图构建的特定
target
中。其他一些建议的解决方案对我有效,但这一个似乎解决了部分根本问题

简单的解决方案是为没有设置的目标更改配置文件的设置


我是Xcode 5.0的GM种子,我无法得到任何这些答案。我尝试了每一个答案,然后回答了多个不同的问题,这些问题都是关于头导入和Cocoapod的

最后我找到了一个适合我的解决方案:我通过Mac AppStore(安装在GM种子上)升级到了Xcode 5.0,现在标头导入工作正常


我的系统上还有一个测试版的Xcode 5,我也删除了它。也许这是两件事的结合,但希望这能帮助其他人。

这是我的答案,我更新了cocoapods,我认为这让PODS\u HEADERS\u SEARCH\u路径消失了。我的解决方案与此类似,但我使用了“$(PODS_ROOT)/Headers”-Andrew Aitken


非常感谢你的回答。我很难找到解决问题的方法。非常感谢。

对我来说,问题在于其他链接器标志值。由于某些原因,我在诸如
-l“xml2”
-l“Pods MBProgressHUD”
之类的标志中没有引号,我不得不从git hub下载zip文件,并将丢失的文件拖动到Pod/中相应路径的查找器中。…

没有任何答案对我有帮助(我让我的POD与所有目标链接,正确设置构建配置,正确设置搜索路径“$(继承)”,等等)

在我使用标准安装/更新命令将cocoapods更新为最新调试版本后,问题自行消失:

   gem install cocoapods --pre
或:

(如果在安装过程中使用了sudo)


这一定是cocoapods的错误。

如果您在“pod安装”或“pod更新”后出现构建错误,则可能是您的一个pod是在使用以前的版本时使用XCode 6.3构建的

在我的例子中,我必须将我的OSX从mavericks更新到Yosemite,以使用Xcode 6.3并解决问题

生成设置->搜索路径->用户标题搜索路径->

  • gem install cocoapods --pre
   sudo gem install cocoapods --pre
#  use_frameworks!
pod install
pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'
pod 'ASLogger', :path => 'path/to/node_modules/aslogger/ios' // path to header files
    rm -rf $TMPDIR/react-native-packager-cache-*
    rm -rf $TMPDIR/metro-bundler-cache-*
    rm -rf $TMPDIR/metro-* 
    rm -rf $TMPDIR/react-* 
    rm -rf $TMPDIR/haste-*
    rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
    npm start -- --reset-cache