从用户定义的设置在Info.plist中设置布尔属性

edo*_*lin 34 iphone macos xcode

从用户定义的设置中设置Info.plist文件中的属性很简单,只需使用$ {YOUR_SETTING_NAME}作为值.但是,有可能为bolean财产这样做吗?plist文件中布尔值的结构是:

<key>NSAppleScriptEnabled</key>
<false/>
Run Code Online (Sandbox Code Playgroud)

目前尚不清楚如何在此处使用用户定义的设置.

Ken*_*agh 13

我不确定如何做你要问的,但我很确定对于这个特定的键(NSAppleScriptEnabled),你也可以使用字符串"YES"和"NO",它将起作用.

  • Xcode不允许您更改内置键的变量类型.例如,我正在尝试关闭App Transport Security以用于开发构建,因此我可以使用SSL代理与Charles代理.无法从布尔值更改"允许任意加载"键.那个案子做了什么? (11认同)
  • 我对 UIFileSharingEnabled 键有同样的问题。虽然 Xcode 允许我将密钥类型更改为 String 并且它在 Xcode 中构建和运行良好,但在将应用程序提交到 AppStore 时出现错误。 (3认同)
  • 如果将Info.plist中的变量(设置)类型设置为String(非布尔值)然后使用"YES"和"NO",则它可以工作.谢谢. (2认同)

gas*_*uff 8

标签内包含布尔值的plist文件不再有效。

此解决方案有效:

将新的运行脚本构建阶段添加到目标。放在此:

if [ ${CONFIGURATION} = "Release" ]; then
/usr/libexec/PlistBuddy -c "Set :UIFileSharingEnabled NO" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
fi
Run Code Online (Sandbox Code Playgroud)

因此,在我的配置中,我将plist中的UIFileSharingEnabled设置为YES,并将其作为默认值,并且在为Release构建时,发生上述步骤并将其设置为false。