kronenthaler / mod-pbxproj

A python module to manipulate XCode projects
MIT License
1.2k stars 294 forks source link

[FEAT] add flag with null value #349

Open Maxtam83 opened 4 months ago

Maxtam83 commented 4 months ago

I intend to configure the provisioning profile to contain a specific value for iOS, but a null value for macOS. (I don’t have the license for macOS). Adding a flag with an empty value is not possible today. It is not possible for me to define the indicator as follows:

"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""

This would avoid having the same value for PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*] and PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*] in my XCode project settings.

project.pbxproj:

isa = XCBuildConfiguration;
            baseConfigurationReference = 3047A50F1AB8059700498E2A /* build-debug.xcconfig */;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                CLANG_ENABLE_MODULES = YES;
                CLANG_ENABLE_OBJC_ARC = YES;
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development: XXXXX (XXXXXX)";
                CODE_SIGN_STYLE = Manual;
                COPY_PHASE_STRIP = NO;
                "DEVELOPMENT_TEAM[sdk=iphoneos*]" = XXXXXXX;
                FRAMEWORK_SEARCH_PATHS = (
                    "$(inherited)",
                    "\"TEST APP/Plugins/@thegrizzlylabs/cordova-plugin-genius-scan\"",
                    "\"TEST APP/Plugins/@thegrizzlylabs/cordova-plugin-genius-scan\"",
                    "\"TEST APP/Plugins/@thegrizzlylabs/cordova-plugin-genius-scan\"",
                );
                GCC_DYNAMIC_NO_PIC = NO;
                GCC_OPTIMIZATION_LEVEL = 0;
                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                GCC_PREFIX_HEADER = "TEST APP/TEST APP-Prefix.pch";
                GCC_THUMB_SUPPORT = NO;
                GCC_VERSION = "";
                INFOPLIST_FILE = "TEST APP/TEST APP-Info.plist";
                IPHONEOS_DEPLOYMENT_TARGET = 11.0;
                LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
                PRODUCT_BUNDLE_IDENTIFIER = xx.xxx-xxxxxxx.TEST-IOS;
                PRODUCT_NAME = "$(TARGET_NAME)";
                "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "iOS Development 2023";
                SUPPORTS_MACCATALYST = YES;
                TARGETED_DEVICE_FAMILY = "1,2";
                VALIDATE_WORKSPACE = NO;
            };
            name = Debug;

image (1) .