执行持续集成时找不到头文件

Posted

技术标签:

【中文标题】执行持续集成时找不到头文件【英文标题】:Header files not found when performing continuous integration 【发布时间】:2016-07-07 15:29:31 【问题描述】:

我正在使用私人可可豆荚,项目构建和运行良好,当我尝试在集成中运行机器人时出现问题。我刚刚开始设置构建服务器(使用 OS X 服务器和 Xcode)。

这是错误之一: HM Mobile Assets Bot 的 Bot 问题(APIClient.h:10 中的错误) HM Mobile Assets Bot 的集成#4 在 Xcode 中打开:xcbot://Xcode CI Server/botID/6b81ceecaf09d4f1f4bdc2c592001f27/integrationID/6b81ceecaf09d4f1f4bdc2c5920c5565

断言:未找到“SAKKit/HMAPIClient.h”文件 文件:mobile-assets-ios/HM Mobile Assets/Application Classes/APIClient.h:10

在 3 次之前引入了集成

已附上此集成的完整日志。

这是日志:

=== ANALYZE TARGET HM Mobile Assets OF PROJECT HM Mobile Assets WITH CONFIGURATION Release ===

CompileC /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/Objects-normal/i386/Unit .o HM\ Mobile\ Assets/Model\ Classes/Unit.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler cd /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios 导出 LANG=en_US.US-ASCII 导出 PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents /开发者/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace -limit=0 -std=gnu99 -fobjc-arc -fmodules -fmodules-cache-path=/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune- after=345600 -fbuild-session-file=/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in -framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return -type -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wn o-missing-braces -W括号 -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno- shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-选择器 -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DCOCOAPODS=1 -DNS_BLOCK_ASSERTIONS=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/开发者/SDKs/iPhoneSimulator9.3.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -mios-simulator-version-min=9.0 -g -fvisibility=hidden -Wno-sign-conversion -fobjc-abi-版本=2 -fobjc-legacy-dispatch -iquote /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM\ Mobile\ Assets.build /Release-iphonesimulator/HM\ Mobile\ Assets.build/HM\ Mobile\ Assets-generated-files.hmap -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM\ Mobile\ Assets .build/Release-iphonesimulator/HM\ Mobile\ Assets.build/HM\ Mobile\ Assets-own-target-headers.hmap -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM \ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/HM\ Mobile\ Assets-all-target-headers.hmap -iquote /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build /Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/HM\ Mobile\ Assets-project-headers.hmap -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData /Build/Products/Release-iphonesimulator/include -I/Library/Developer/XcodeServer/Integrations/Caches/6b81 ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/AFNetworking -I/Library/ Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/AFOAuth2Manager -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods Headers/Public/Crashlytics -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/Fabric -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c5920/ Source/mobile-assets-ios/Pods/Headers/Public/MBProgressHUD -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/MagicalRecord -I/Library/开发人员/XcodeServer/Integrations/Caches/6b81ceecaf0 9d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/SAKKit -I/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/SSKeychain -I/ Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/DerivedSources/i386 -I/Library/Developer/XcodeServer/ Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/DerivedSources -F/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27// Build/Products/Release-iphonesimulator -F/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Crashlytics/iOS -F/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f27/bdc2c592001来源/暴徒ile-assets-ios/Pods/Fabric/iOS -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public -isystem /Library/Developer/XcodeServer/Integrations/缓存/6b81ceecaf09d4f1f4bdc2c592001f27/源/mobile-assets-ios/Pods/Headers/Public/AFNetworking -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/FOAuth2Manager/-A isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/Crashlytics -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/source ios/Pods/Headers/Public/Fabric -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/MBProgressHUD -isystem /Library/Developer/XcodeServer/Integrations/缓存/6b81ceecaf09d4f1f4b dc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/MagicalRecord -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/SAKKit -isystem/ Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/SSKeychain -MMD -MT 依赖项-MF /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData /Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/Objects-normal/i386/Unit.d --serialize-diagnostics /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/ DerivedData/Build/Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/Objects-normal/i386/Unit.dia -c /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/源/mobile-assets-ios/HM\Mobile\Assets/Model\Classes/U nit.m -o /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/Objects-normal/i386/单位.o

在 /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/HM Mobile Assets/Model Classes/Unit.m:11 包含的文件中: /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/HM Mobile Assets/Application Classes/APIClient.h:10:9:致命错误:找不到“SAKKit/HMAPIClient.h”文件

进口

    ^

生成 1 个错误。

【问题讨论】:

【参考方案1】:

从来没有让这个与本地 pod 一起工作。文件路径问题比比皆是。最后决定调整 podspec 以从我们的私人 git 存储库中提取。完成此操作并在 Podfile 中进行必要的更改后,现在可以正常工作了。如果您尝试使用本地私有 cocoapod 并且在运行集成时遇到路径问题,请将对 git 服务器的引用移动到某处并调整 Podfile。这里是我的 podspec 供参考:

Pod::Spec.new do |s|
  s.name     = "SAKKit"
  s.version  = "1.0.0"
  s.summary  = "SUMMARY HERE"
  s.source   =  :git => "https://YOURGITSERVER/sakkit-ios.git" 
  s.platform     = :ios, '8.0'
  s.requires_arc = true
  s.author =  "NAME" => "EMAIL" 
  s.homepage      = "HOMEPAGE"
  s.public_header_files = 'SAKKit/**/*.h'
  s.source_files = 'SAKKit/**/*.h,m'

  s.dependency 'AFNetworking', '2.6.3'
  s.dependency 'AFOAuth2Manager'
  s.dependency 'SSKeychain'  

end 

这是工作区的 Podfile:

target 'MYAPP-Prod' do
    pod 'SAKKit', :git => 'https://YOURGITSERVER/sakkit-ios.git'
    pod 'Fabric'
    pod 'Crashlytics'
end

target 'MYAPP-InHouse' do
    pod 'SAKKit', :git => 'https://YOURGITSERVER/sakkit-ios.git'
    pod 'Fabric'
    pod 'Crashlytics'
end

【讨论】:

以上是关于执行持续集成时找不到头文件的主要内容,如果未能解决你的问题,请参考以下文章

IAR 编译时找不到头文件的解决方法

关于VC6.0的找不到头文件的问题

vc++编程找不到头文件。。。急求解决方法。。

CI(持续集成)CD(持续交付)

持续集成

JMeter持续集成测试