jun chen
09/09/2022, 10:45 AMjun chen
09/09/2022, 10:51 AM#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 1
#endif
// Well-known proto types
#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
#import <Protobuf/Any.pbobjc.h>
#import <Protobuf/Api.pbobjc.h>
#import <Protobuf/Duration.pbobjc.h>
#import <Protobuf/Empty.pbobjc.h>
#import <Protobuf/FieldMask.pbobjc.h>
#import <Protobuf/SourceContext.pbobjc.h>
#import <Protobuf/Struct.pbobjc.h>
#import <Protobuf/Timestamp.pbobjc.h>
#import <Protobuf/Type.pbobjc.h>
#import <Protobuf/Wrappers.pbobjc.h>
#else
#import "google/protobuf/Any.pbobjc.h"
#import "google/protobuf/Api.pbobjc.h"
#import "google/protobuf/Duration.pbobjc.h"
#import "google/protobuf/Empty.pbobjc.h"
#import "google/protobuf/FieldMask.pbobjc.h"
I have added micro define by extraSpecAttributes in build.gradle.kts file
extraSpecAttributes["pod_target_xcconfig"] = "{\n" +
" 'KOTLIN_PROJECT_PATH' => ':PBService',\n" +
" 'PRODUCT_MODULE_NAME' => 'PBService',\n" +
" 'GCC_PREPROCESSOR_DEFINITIONS' => '\$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',\n" +
" }"
extraSpecAttributes["user_target_xcconfig"] = """{
'GCC_PREPROCESSOR_DEFINITIONS' => 'GPB_USE_PROTOBUF_FRAMEWORK=1'
}""".trimIndent()
and have success config user_target_xcconfig option in podspec file
spec.pod_target_xcconfig = {
'KOTLIN_PROJECT_PATH' => ':PBService',
'PRODUCT_MODULE_NAME' => 'PBService',
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1',
}
spec.user_target_xcconfig = {
'GCC_PREPROCESSOR_DEFINITIONS' => 'GPB_USE_PROTOBUF_FRAMEWORK=1'
}
But below code still follow else logic, the above GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS micro not work
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 1
#endif
// Well-known proto types
#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
#import <Protobuf/Any.pbobjc.h>
#import <Protobuf/Api.pbobjc.h>
#import <Protobuf/Duration.pbobjc.h>
#import <Protobuf/Empty.pbobjc.h>
#import <Protobuf/FieldMask.pbobjc.h>
#import <Protobuf/SourceContext.pbobjc.h>
#import <Protobuf/Struct.pbobjc.h>
#import <Protobuf/Timestamp.pbobjc.h>
#import <Protobuf/Type.pbobjc.h>
#import <Protobuf/Wrappers.pbobjc.h>
#else
#import "google/protobuf/Any.pbobjc.h"
#import "google/protobuf/Api.pbobjc.h"
#import "google/protobuf/Duration.pbobjc.h"
#import "google/protobuf/Empty.pbobjc.h"
#import "google/protobuf/FieldMask.pbobjc.h"
Konstantin Tskhovrebov
09/09/2022, 1:46 PMjun chen
09/10/2022, 2:18 AM