【问题标题】:How to replace system defined setting with user defined setting within info.plist file?如何用 info.plist 文件中的用户定义设置替换系统定义设置?
【发布时间】:2019-07-27 19:47:56
【问题描述】:

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

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

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

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

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

还是不行。为什么?我怎样才能做到这一点而不创建单独的 plist?

【问题讨论】:

    标签: xcode info-plist


    【解决方案1】:

    您可以尝试使用自定义运行脚本 - 在构建时脚本可以更改 Info.plist 中 bool 的值 -> 在您的条件下应该是这样的:

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

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2016-02-05
      • 2010-12-22
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 2015-06-21
      • 2016-03-08
      相关资源
      最近更新 更多