我想在Ionic4应用程序和本机今日小部件之间共享数据。为此,我正在使用this plugin
在Cordova plugin的文档中,您可以找到“ iOS特定功能”,其中提到了NativeStorage.initWithSuiteName。但这在Ionic插件中是缺少的。
所以我这样更改了代码:
if (this.platform.is('ios')) {
window['plugins'].NativeStorage.initWithSuiteName('group.com.test.test');
}
和
this.nativeStorage.setItem(key, val);
但是当我想在Today小部件中获取数据时,密钥没有设置。
let preferences = UserDefaults(suiteName: "group.com.test.test");
if let test = preferences!.string(forKey: "test") {
print(test);
} else {
print("No");
}
有人知道如何处理吗?感谢您的帮助!
答案 0 :(得分:0)
如果共享具有相同应用ID的数据,请不要使用public string SomeProperty
{
get { return _somProperty; }
set
{
_someProperty= value;
OnPropertyChanged();
}
}
}
initWithSuiteName()
this.nativeStorage.setItem(key, val);
如果在应用程序或扩展之间共享数据,则需要使用应用组 https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_application-groups
在if let test = UserDefaults.standard.string(forKey: "test") as? String {
print(test);
} else {
print("No");
}
之前
setItem()