问题
I have a multi-target iPhone app which currently includes a header file with constant definitions that are conditionally included at build time depending on which target is being built.
However, I was wondering if it might be better to instead include this information in the info.plist for the build, as this generally holds target-specific meta, so logically seems more appropriate.
Therefore, my questions are:
- Is it acceptable to include custom (non-Apple defined) keys in the info.plist file?
- Is this a suitable place to include meta for the app which differ between targets?
回答1:
It is acceptable and suitable.
The Info.plist file is preprocessed (must be enabled in project settings by setting Packaging / Preprocess Info.plist File to Yes) by the C pre-processor, so you can have variables (in the form of ${VARIABLE_NAME}
). These variables can be defined in the User Defined
section in Xcode's target info, making it very easy to switch their value from one target to another.
来源:https://stackoverflow.com/questions/2989127/using-info-plist-for-storing-target-specific-values-for-a-multi-target-app