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
Post a Comment