ios - How to enable parts of code with external files .plist or .xcconfig -
i have project i'm using fastlane toolchain build.
i have multiple deployment targets (hockey app, test flight, app store) - , each deployment i'm interested in disabling , enabling features.
for example - when i'm doing alpha build enterprise cert hockeyapp want disable flurry analytics.
when i'm doing beta build want change app-id and/or change flurry key
i have working in fastlane variety of sed commands search , replace files etc.
that being said, i'm sure there better way.
i know in obj-c can #ifdef against build environment flags enable / disable parts of code. best way go in swift.
do use sort of custom .plist file or .xcconfig setting tell app do/use or there different way?
the things i'm interested in are
- disabling portions of code ( ignore function in specific config)
- changing values used in code aka
api_keyor that
you can still use similar #ifdef preprocessor in swift, , can combine .xcconfig can used specify various variables. scripts can generate values go .xcconfig vars.
the basic setup be:
- create
.xcconfigfile , associate desired build configurations (in project settings -> info). - add variables
.xcconfig. example, if want activate alpha build can this:is_alpha_build=-d alpha. notice-dnecessary here. scripts can leave variables empty if want flag turned off. - in build settings target, under "swift complier - custom flags" - > "other swift flags" add flag based on
.xcconfigfile variables:${is_alpha_build}. if.xcconfigsetup correctly should see content of variable once you're done editing variable. use flags in code:
#if alpha print("alpha") #else print("not alpha") #endif
i hope helps, or @ least give idea best approach suitable you.
Comments
Post a Comment