I am facing build error, while compiling Main project for custom build configuration in the below project setup.But i don't get build errors for Debug config.
MainProject ( Mixed Objective-C and Swift)
|_ SubProject1 ( Only Objective-C)
MainProject build configs :
|_ Debug
|_ Inhouse
|_ Adhoc
|_ Store
SubProject1 build configs:
|_ Debug
|_ Release
Pod File:
workspace 'MainProject.xcworkspace'
platform :ios, '9.0'
target 'MainProject' do
use_frameworks!
def shared_pods
# all the pods go here
pod 'CocoaLumberjack/Swift'
end
target 'MainProject' do
project 'MainProject'
shared_pods
end
target 'SubProject1' do
project 'Subprojects/SubProject1/Subproject1'
shared_pods
end
end
Both Main project and sub project uses Cocoalumberjack. Since subproject is a obj-c project, it uses cocoalumberjack obj-c version with following import statement.
#import "CocoaLumberjack/CocoaLumberjack.h"
while the debug config is build, there is no build failure. But when the Inhouse/Adhoc/Store config is build, it is not able to find cocoalumberjack header file in the header search path. From the build logs, i can infer that,
When Main project Debug config is build, same config is used for building pods and subprojects. So, Pods are placed in Debug-iphonesimulator path. Since subprojects have Debug config, it also refer the pod headers in Debug-iphonesimulator path.So build succeeds.
when other custom config in Mainproject is build,let say, Inhouse, Pods are placed in Inhouse-iphonesimulator path. Since subproject doesn't have Inhouse config, it defaults to release config. This leads to searching cocoalumberjack header file in release intermediate path, while building subprojects. But Cocoalumberjack headers is not present in release config path but present in Inhouse intermediate path. This results in build error. Please find the build error log below.
CompileC /Users/someusername/Library/Developer/Xcode/DerivedData/MainProject-gslvjyjvbpzplkerotbufvukmpac/Build/Intermediates/Subproject1.build/Release-iphonesimulator/SubProject1.build/Objects-normal/x86_64/SubProject1.o
/Users/someusername/Library/Developer/Xcode/DerivedData/MainProject-gslvjyjvbpzplkerotbufvukmpac/Build/Intermediates/Subproject1.build/Release-iphonesimulator/SubProject1.build/SubProject1-generated-files.hmap -F/Users/someusername/Library/Developer/Xcode/DerivedData/MainProject-gslvjyjvbpzplkerotbufvukmpac/Build/Products/Release-iphonesimulator
> -F/Users/someusername/Library/Developer/Xcode/DerivedData/MainProject-gslvjyjvbpzplkerotbufvukmpac/Build/Products/Release-iphonesimulator/CocoaLumberjack -iquote /Users/someusername/Library/Developer/Xcode/DerivedData/MainProject-gslvjyjvbpzplkerotbufvukmpac/Build/Products/Release-iphonesimulator/CocoaLumberjack/CocoaLumberjack.framework/Headers -c /Users/someusername/Anand/iOS/Practices/StackOverflow/MainProject/Subprojects/SubProject1/SubProject1/SubProject1.m -o /Users/someusername/Library/Developer/Xcode/DerivedData/MainProject-gslvjyjvbpzplkerotbufvukmpac/Build/Intermediates/Subproject1.build/Release-iphonesimulator/SubProject1.build/Objects-normal/x86_64/SubProject1.o
In file included from /Users/someusername/Anand/iOS/Practices/StackOverflow/MainProject/Subprojects/SubProject1/SubProject1/SubProject1.m:10: /Users/someusername/Anand/iOS/Practices/StackOverflow/MainProject/Subprojects/SubProject1/SubProject1/Logger.h:9:9: fatal error: 'CocoaLumberjack/CocoaLumberjack.h' file not found
import "CocoaLumberjack/CocoaLumberjack.h"
^ 1 error generated.
Could someone help me in resolving this build error for custom configs? Please let me know if more details is needed.