Search code examples
iosxcodecontinuous-integrationxcode-server

Header files not found when performing continuous integration


I am using a private cocoa pod and the project builds and runs fine, the issue is happening when I try to run a bot in an integration. I am just started to setup a build server (using OS X server and Xcode).

Here is one of the errors: Bot Issue for HM Mobile Assets Bot (error in APIClient.h:10) Integration #4 of HM Mobile Assets Bot Open in Xcode: xcbot://Xcode CI Server/botID/6b81ceecaf09d4f1f4bdc2c592001f27/integrationID/6b81ceecaf09d4f1f4bdc2c5920c5565

Assertion: 'SAKKit/HMAPIClient.h' file not found File: mobile-assets-ios/HM Mobile Assets/Application Classes/APIClient.h:10

Introduced 3 integrations ago

Full logs for this integration are attached.

Here is the log:

=== 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 export LANG=en_US.US-ASCII export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/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 -Wno-missing-braces -Wparentheses -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-selector -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/Developer/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-version=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/6b81ceecaf09d4f1f4bdc2c592001f27/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/6b81ceecaf09d4f1f4bdc2c592001f27/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/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/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/DerivedData/Build/Products/Release-iphonesimulator -F/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Crashlytics/iOS -F/Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Fabric/iOS -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/AFNetworking -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/AFOAuth2Manager -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-ios/Pods/Headers/Public/Crashlytics -isystem /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/Source/mobile-assets-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/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/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 dependencies -MF /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/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/Source/mobile-assets-ios/HM\ Mobile\ Assets/Model\ Classes/Unit.m -o /Library/Developer/XcodeServer/Integrations/Caches/6b81ceecaf09d4f1f4bdc2c592001f27/DerivedData/Build/Intermediates/HM\ Mobile\ Assets.build/Release-iphonesimulator/HM\ Mobile\ Assets.build/Objects-normal/i386/Unit.o

In file included from /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: fatal error: 'SAKKit/HMAPIClient.h' file not found

import

    ^

1 error generated.


Solution

  • Never got this to work with a local pod. File path issues abounded. Finally decided to adjust the podspec to pull from our private git repo. After doing this and making the needed changes in the Podfile, this works now. If you are trying to use a local private cocoapod and have path issues when running an integration, move the reference to a git server somewhere and adjust the Podfile. For reference here is my 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 
    

    And here is the Podfile for the workspace:

    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