代码之家  ›  专栏  ›  技术社区  ›  edoloughlin

根据用户定义的设置在info.plist中设置布尔属性

  •  30
  • edoloughlin  · 技术社区  · 15 年前

    通过用户定义的设置在info.plist文件中设置属性很简单,只需使用$您的设置名称作为值。然而,是否有可能为Bolean地产做这件事?布尔值的plist文件中的结构是:

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

    这里不清楚如何使用用户定义的设置。

    3 回复  |  直到 8 年前
        1
  •  11
  •   Ken Aspeslagh    15 年前

    我不知道怎么做你要求的,但我非常确定对于这个特殊的键(nsaplescriptEnabled),你也可以使用字符串“是”和“否”,它会起作用。

        2
  •  2
  •   gasparuff    8 年前

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

    此解决方案有效:

    向目标添加新的运行脚本生成阶段。放入:

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

    所以在我的配置中,我将在plist中将uifilesharingengabled设置为yes作为默认值,当我构建发布时,上面的步骤会发生并将其设置为false。

        3
  •  -4
  •   Louis Gerbarg    15 年前

    你所说的“用户定义的设置”是什么意思?

    如果你所说的用户是你(换句话说,就是应用的开发者),那么你可以把你想要的任何密钥放在那里,就像Xcode项目中的任何其他plist一样。

    如果你谈论的用户是你的应用的最终用户,不要试图将他们的设置保存在你的info.plist中。它是应用程序的一部分。虽然应用程序有时可能在Mac上更改自己的信息列表,但通常情况下,这取决于应用程序的安装方式。在iPhone上,这是不可能的,因为应用程序是只读的。无论哪种情况,更改info.plist都会使您所做的任何应用程序签名失效。

    如果要更改最终用户设置,请使用nsuserdefaults。