ios - Cocoapod - Build Error for Custom configuration in mixed Objective-C and Swift project -


i facing build error, while compiling main project custom build configuration in below project setup.but don't build errors debug config.

mainproject ( mixed objective-c , swift)  |_ subproject1 ( 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'    use_frameworks!     def shared_pods      # pods go here      pod 'cocoalumberjack/swift'    end     target 'mainproject'      project 'mainproject'      shared_pods    end     target 'subproject1'      project 'subprojects/subproject1/subproject1'      shared_pods    end end 

both main project , sub project uses cocoalumberjack. since subproject obj-c project, uses cocoalumberjack obj-c version following import statement.

#import "cocoalumberjack/cocoalumberjack.h"

while debug config build, there no build failure. when inhouse/adhoc/store config build, not able find cocoalumberjack header file in header search path. build logs, can infer that,

when main project debug config build, same config used building pods , subprojects. so, pods placed in debug-iphonesimulator path. since subprojects have debug config, refer pod headers in debug-iphonesimulator path.so build succeeds.

when other custom config in mainproject build,let say, inhouse, pods placed in inhouse-iphonesimulator path. since subproject doesn't have inhouse config, defaults release config. leads searching cocoalumberjack header file in release intermediate path, while building subprojects. cocoalumberjack headers not present in release config path present in inhouse intermediate path. results in build error. please find 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 /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 me in resolving build error custom configs? please let me know if more details needed.

this should fix issue:

step 1

update podfile this:

workspace 'mainproject.xcworkspace' platform :ios, '9.0' use_frameworks!  def shared_pods   # pods go here   pod 'cocoalumberjack/swift' end  target 'mainproject'  project 'mainproject'  shared_pods end  target 'subproject1'  project 'subprojects/subproject1/subproject1'  shared_pods end 

step 2

run command on terminal uninstall pod project clean install later:

pod deintegrate 

step 3

remove podfile.lock

rm -rf podfile.lock 

step 4

run install again:

pod install 

step 5

if you're using lumberjack framework, can import like:

@import cocoalumberjack 

hope it'll fix, please let me know result...

note:

alternatively can try nslogger works mixed objective-c + swift projects too.

also other alternatives


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -