我正在使用这个方便的Cordova插件从我的Cordova iOS混合应用程序的主页设置应用程序设置:
https://github.com/escio/cordova-ios-application-preferences
我有一个本地混合应用程序,并且来自index.html主页,当用户使用此插件单击按钮时,我设置了应用程序首选项。
成功设置应用程序首选项后,我已通过日志确认设置正确。那时,我调用了一个JS函数,它查看应用程序的首选项。奇怪的是,尽管日志显示我已经正确设置了首选项,但是我的JS函数仍在使用/引用该首选项的默认值。如果我退出该应用程序并立即重新启动,则显然可以使用较新的应用程序首选项,但是在该初始流程中,该应用程序似乎正在使用该应用程序首选项的缓存版本。
有什么想法吗?如何让Cordova使用当前的应用程序首选项?
最佳答案
为了解决这个问题,我发现尽管插件正在设置值,但是混合应用程序仍在运行大量本机代码,并且设置值在初始化时由应用程序获取。因此,除了在“应用程序偏好设置”中设置新值外,我还必须在Objective-c中向插件添加一个小的方法调用,以在应用程序内存/状态的本机端设置新值。