问题标签 [ios-settings-bundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如果重新安装应用程序,如何保留设置
如果应用程序已通过 xcode 重新安装,则所有保留的设置都会被清除。如何避免这种行为?
更详细:已经安装了一个应用程序,然后我对设置(设置包)进行了更改并存储了它们。在我通过 xcode 重新安装了应用程序(我没有删除应用程序)并且我之前所做的所有设置都已清理之后。我想在安装应用程序后保留我的设置,或者可能有另一种方法在安装后保留应用程序的设置。
例子:
我创建了设置包(文件->新建->文件->资源->设置包)
更改了 Root.plist 并在那里添加了新的地址值字典。见下文。
ios - Settings.bundle 本地化损坏
几周前,我在我的应用程序中添加了一个设置包,并按照Use Your Loaf的精彩教程本地化了它的条目。那时,它可以毫无问题地工作。
现在我在几周后回到我的项目,同样的 Xcode 版本(9.3),发现了这些问题:
- 我在项目导航器中看不到字符串文件:语言文件夹缺少预期的披露控件:
如果我删除设置包并重新开始,我会得到:
- Settings.bundle
- en.lproj
- 根目录
...但英语文件夹仍然缺少披露指示符。
当我在设备或模拟器中安装我的应用程序并转到“设置”页面时,会显示本地化键(好像所有语言的字符串文件都丢失了)。
但是,如果我转到
Products
文件夹(从 Xcode Project Navigator,“在 Finder 中显示...”)并检查我的应用程序包的内容,以及其中的设置包,语言目录与它们各自的字符串文件在那里里面。
我错过了什么?
更新
我尝试创建一个新的裸项目并向其中添加一个设置包,但我得到了相同的结果。我回到 Xcode 9.2(我也安装了),问题没有发生。要么是 9.3 存在错误(不太可能,因为当我第一次添加捆绑包时它正在工作)或者我的安装已损坏。
我刚刚检查并注意到有一个可用于 Xcode 9.3 (9.3.1) 的更新,所以我将下载它并重试...
ios - 在用户更改之前无法从设置包中读取默认值
在我的 iPhone 应用程序中,我使用设置包来存储我的应用程序设置以及预定义的默认值。例如,包括一个默认设置为的拨动开关true
:
当我使用检索此值时
有两个观察到的结果:
- 如果用户之前更改了设置,则将正确的设置分配给
showScore
。 - 如果用户没有触摸设置,则检索到的值
false
即使默认值应该是true
。
因此,实际设置只能在用户更改后才能读取,这使得默认值变得多余。
关于这个主题有很多 SO 帖子,但是,在阅读它们之后,我更加困惑。
有人建议复制应用程序本身的设置,但在这种情况下,设置应用程序提供了什么值?而且,显然,检索设置并非完全不可能——只是在用户更改它们之前。
其他一些答案说,问题与UserDefaults
在使用它们之前没有注册一次默认值有关。在这里,我不确定应该如何以及在哪里完成。AppDelegate
我已经在读取值本身的方法和方法中使用以下语句进行了尝试。事实上,根本不使用它似乎并没有什么不同。
因此,根据我找到的所有信息,我想知道是否甚至可以使用默认值,如果可以,它是如何正确完成的?
而且,假设我也被迫在我的应用程序中存储默认值,应用程序如何知道何时使用它们,即用户是否更新了设置?
xcode10 - swift 5中特定应用设置值发生变化时如何观察事件?
我的应用程序有一个多值设置捆绑选项。当此设置已更改时,我想赶上该事件。
我发现了这些可能性,但我不知道它们之间有什么区别:
提前致谢。
ios - 如何为 iOS 设置包中的滑块指定暗/亮模式图像?
我的设置包中有一个滑块,使用PSSliderSpecifier类型。我使用MinimumValueImage
和MaximumValueImage
键来提供显示在滑块左侧/右侧的图像。但是,如下面的屏幕截图所示,这些图像不会根据明暗模式进行调整。
如何在明/暗模式下指定要使用的不同图像或不同的色调?Apple 设置中的所有滑块似乎都会根据模式进行调整,所以感觉应该有办法,但我没有看到任何关于如何实现这一点的文档。
灯光模式
深色模式
ios - 在运行时更改通过 iOS 设置包定义的设置的标题字符串?
我正在开发一个允许用户使用 Touch ID 登录的 iPad 应用程序。我还在应用程序设置包中包含了一个名为“Touch ID”的首选项,用户可以在其中打开/关闭该选项以启用或禁用 Touch ID 身份验证。
以下 plist 文件是我用来设置设置包的文件。
下图是应用程序设置屏幕的屏幕截图。
但是,某些 iPad 具有“Face ID”而不是“Touch ID”,我想提供选项名称(Plist 文件中的标题字段)用于将捆绑设置为“Face ID”而不是“Touch ID”设备。
如果应用程序设置选项的动态标题是可能的,有人可以告诉我吗?
注意:我有一些替代解决方案,例如在我的应用程序本身中创建一个设置屏幕,将设置名称重命名为通用名称等。