ios - 仅在 DEBUG 配置中将 info.plist 中启用的 iTunes 文件共享设置为 YES

标签 ios xcode debugging configuration info.plist

在 Xcode 中,我可以将 “应用程序支持 iTunes 文件共享”/UIFileSharingEnabled 设置设置为 YES/NO 基于我的应用程序的配置(调试与发布)?

我看到过关于使用用户定义的build设置来设置字符串 plist 项的字符串值的讨论(例如 $(MY_DEFINED_SETTING),但是你可以用这个 bool 设置来做到这一点吗?这不是完全一样的事情,但是只要在构建应用程序的发布版本时它被自动删除,那很好。但是如果我尝试在字段中输入 YESNO 之外的任何内容,它默认为 NO

我知道一个人可以根据配置拥有一个文件的两个不同版本,但如果不拥有大部分相同文件的两个副本会更简单。但如果这是最好的解决方案,那么任何有关实现该解决方案的提示都将不胜感激。

谢谢

最佳答案

尽管 Xcode 中的默认 plist 查看器不允许我在 UIFileSharingEnabled 的键值字段中输入字符串因为它需要一个 bool 值,所以我设法让它让我输入我想要的任何值,方法是将 plist 查看为源代码并按如下方式输入:

<key>UIFileSharingEnabled</key>
<string>${FILE_SHARING_ENABLED}</string>

相对于<true/><false/>因为 plist 编辑器将第二行默认为。

(其中 FILE_SHARING_ENABLED 是我的 user defined build setting 的名称,对于 Debug 设置为 YES,对于 Release 设置为 NO)

screenshot of project settings

注意我还尝试设置用户定义的build设置,在调试配置中它等于 UIFileSharingEnabled ,以及发布中的一些乱码值。然后我尝试将其用作键,但它没有被值替换,而是被视为字符串。

通过打印出 infoDictionary 的内容来仔细检查

NSLog(@"%@",[[NSBundle mainBundle] infoDictionary]);

还可以通过打开 iTunes 并在手机底部的应用程序页面上检查文件共享是否有效/无效。 (请记住在调试和发布配置中进行测试)

关于ios - 仅在 DEBUG 配置中将 info.plist 中启用的 iTunes 文件共享设置为 YES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34858969/

相关文章:

debugging - Firefox/Firebug 的 "console.log"总是返回 'undefined'

ios - 选项卡上按钮图像更改的动画(可能是翻转动画)

ios - 将元数据应用于图像会导致 performChanges 请求失败

ios - Cordova iOS 插件在构建后失败,除非我先删除平台和插件 JSON

xcode - 如何使用第三方库: SWXMLHash in the playground ?

c# - Visual Studio 2015,Resharper 在调试单元测试时卡住

c++ - 跟踪/跟踪在不同寄存器/内存位置传递的值?

ios - 离线计量iOS应用程序中的音频文件

ios - 当滑动到pop viewController时如何识别interactivePopGestureRecognizer是否成功进行?

objective-c - 为什么我的原型(prototype)单元格显示为空白?