Settings.bundle 名称仍然是硬编码的?
Posted
技术标签:
【中文标题】Settings.bundle 名称仍然是硬编码的?【英文标题】:Settings.bundle name still hard-coded? 【发布时间】:2019-12-09 18:01:53 【问题描述】:上次我阅读了有关在 ios 中提供应用首选项的信息,设置包名称被硬编码为 Settings.bundle
。我在最新的 Xcode 开发者文档中找不到该指南的最新版本。请问设置包格式和放置记录在哪里?它不在记录 Info.plist 的“捆绑资源”下。
我真正的问题是 - 捆绑包名称是否仍然是硬编码的,因此同一项目中的不同应用程序/目标不能有不同的设置捆绑包?
【问题讨论】:
【参考方案1】:这是关于这个捆绑包的官方Apple Documentation。
实际上,使用默认创建的名为 Settings.bundle
的捆绑包,我没有遇到任何问题,因为每个目标都保存在单独的物理文件夹中。但是,如果有很高的需求将它们放在一个文件夹中,可以通过为这些资源使用不同的名称(例如Settings-target1.bundle
、Settings-target2.bundle
等),但在最终构建的目标应用程序包中,它们必须命名Setting.bundle
(按要求;实际上没有人抱怨为什么Localizable.strings
,比如说,按原样命名),所以您只需在应用程序构建过程中将每个相应的Settings-x.bundle
重命名为Settings.bundle
,例如在自定义复制/脚本中阶段。
【讨论】:
我已经做了 rename-on-build 技巧。有效,但会阻止并行构建。我看到了那个医生。它超级旧 - 只需看看屏幕截图。我希望他们已经修改了。以上是关于Settings.bundle 名称仍然是硬编码的?的主要内容,如果未能解决你的问题,请参考以下文章
我可以隐藏/禁用 Settings.bundle 中的字段吗?
iOS8 自定义键盘 Settings.bundle 不显示