如何在info.plist文件中用用户定义的设置替换系统定义的设置?

时间:2019-03-06 07:55:15

标签: xcode info-plist

info.plist中,存在系统定义的设置:查看基于控制器的状态栏外观

enter image description here

这是一个灰色的布尔选项。

但是在我的项目中,我使用了很多目标,并且需要为每个目标定义此设置。因此,我已经这样定义User Defined Setting

enter image description here

但是当我尝试将ON替换为$(CUSTOM_STATUS_BAR_APPEARANCE_ENABLED)时,由于类型是布尔型,所以它不起作用。如果我强制像这样在plist文件中更改该属性:

<key>UIViewControllerBasedStatusBarAppearance</key>
<string>$(CUSTOM_STATUS_BAR_APPEARANCE_ENABLED)</string>

它仍然不起作用。为什么?我该如何没有创建单独的桩?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用自定义运行脚本-在构建时脚本可以在Info.plist中更改bool的值->在您的情况下,它应类似于:

INFOPLIST="${PRODUCT_SETTINGS_PATH}"
/usr/libexec/PlistBuddy -c "Set :UIViewControllerBasedStatusBarAppearance NO" "${INFOPLIST}"

希望有帮助!