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

时间:2009-12-02 10:53:12

标签: iphone xcode macos

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

<key>NSAppleScriptEnabled</key>
<false/>

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

3 个答案:

答案 0 :(得分:12)

我不确定如何做你所要求的,但我很确定对于这个特定的键(NSAppleScriptEnabled),你也可以使用字符串“YES”和“NO”,它会起作用。

答案 1 :(得分:3)

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

此解决方案有效:

向目标添加新的运行脚本构建阶段。放进去:

if [ ${CONFIGURATION} = "Release" ]; then
/usr/libexec/PlistBuddy -c "Set :UIFileSharingEnabled NO" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
fi

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

答案 2 :(得分:-4)

“用户定义设置”是什么意思......

如果您正在谈论的用户是您(换句话说,该应用程序的开发人员),那么您可以放置​​您想要的任何键,就像您的Xcode项目中的任何其他plist一样。

如果您正在谈论的用户是您应用的最终用户,请不要尝试将他们的设置保存在您的Info.plist中。它是应用程序的一部分。虽然有时候应用程序可以在Mac上更改自己的信息plist,但通常不会,这取决于应用程序的安装方式。在iPhone上永远不可能,因为该应用程序是只读的。在任何一种情况下,更改您的Info.plist都会使您已完成的任何应用签名失效。

如果您想更改最终用户设置,请使用NSUserDefaults。