xcode - 如何用 info.plist 文件中的用户定义设置替换系统定义设置?
问题描述
里面info.plist
有系统定义的设置:查看基于控制器的状态栏外观。
这是一个灰色的布尔选项。
但是在我的项目中,我使用了很多目标,并且需要为每个目标定义这个设置。所以,我这样定义User Defined Setting
:
但是当我尝试用它替换ON
时$(CUSTOM_STATUS_BAR_APPEARANCE_ENABLED)
它不起作用,因为类型是布尔值。如果我强制更改 plist 文件中的该属性,如下所示:
<key>UIViewControllerBasedStatusBarAppearance</key>
<string>$(CUSTOM_STATUS_BAR_APPEARANCE_ENABLED)</string>
它仍然不起作用。为什么?在不创建单独的 plist的情况下如何做到这一点?
解决方案
您可以尝试使用自定义运行脚本 - 在构建时脚本可以更改 Info.plist 中 bool 的值 -> 在您的条件下它应该是这样的:
INFOPLIST="${PRODUCT_SETTINGS_PATH}"
/usr/libexec/PlistBuddy -c "Set :UIViewControllerBasedStatusBarAppearance NO" "${INFOPLIST}"
希望有帮助!
推荐阅读
- reactjs - UseState 随机返回数据
- xamarin.ios - Xamarin IOS 需要重定向到 BB Access 以进行 OpenID 连接
- javascript - Java 脚本适用于数字但错误 80020101 与变量...为什么?
- powershell - Powershell 中的实时 TCP 接收器
- c++ - C++。类中指针数组的赋值运算符
- php - 使用 php(共享服务器)实现 Oauth 1.0a
- azure-devops - 分支策略“在最后一次迭代中至少需要一个批准”的含义不清楚
- python - AnalysisException:Sparksql - SUM with CASE WHEN
- android - 在 googleMap Activity 中显示 Toast
- python - 有没有办法使用 sklearn TF-IDF 模型来解决单词类比问题?