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

shi*_*him 3 debugging configuration xcode info.plist ios

在 Xcode 中,我可以根据我的应用程序的配置(调试与发布)将"Application supports iTunes file sharing"/UIFileSharingEnabled设置设置为YES/NO吗?

我已经看到使用用户定义的构建设置来设置字符串 plist 项目的字符串值的讨论(例如 $(MY_DEFINED_SETTING),但是你能用这个布尔设置来做到这一点吗?这不会完全一样,但只要在构建应用程序的发布版本时它会自动删除,这很好。但是如果我尝试在字段旁边YESNO字段中输入任何内容,它默认为NO

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

谢谢

shi*_*him 5

尽管 Xcode 中的默认 plist 查看器不允许我在键的值字段中输入字符串,UIFileSharingEnabled因为它需要一个布尔值,但我确实设法让它通过将 plist 视为源代码来输入我想要的任何值,并且输入如下:

<key>UIFileSharingEnabled</key>
<string>${FILE_SHARING_ENABLED}</string>
Run Code Online (Sandbox Code Playgroud)

而不是<true/><false/>作为plist中编辑默认第二行。

FILE_SHARING_ENABLED我的用户定义的构建设置的名称在哪里,它为 Debug设置为YES,为 Release设置为NO

项目设置截图

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

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

NSLog(@"%@",[[NSBundle mainBundle] infoDictionary]);
Run Code Online (Sandbox Code Playgroud)

并且还通过打开 iTunes 并检查文件共享是否在底部手机的应用程序页面上工作/不工作。(记得在调试和发布配置中进行测试)