在React Native应用程序和Swift Share Extension之间共享UserDefaults

时间:2018-02-02 02:01:33

标签: javascript ios swift xcode react-native

我有一个React Native App,我正在尝试使用Swift构建iOS共享扩展。我希望共享扩展能够访问React Native应用中的令牌集。我已经设置了一个应用组,其中包含应用和共享扩展程序。

在应用中,我使用react-native-default-preference设置UserDefaults。

import DefaultPreference from 'react-native-default-preference'

DefaultPreference.set('authToken', token)

在我的共享扩展程序视图控制器中,我有

if let userDefaults = UserDefaults(suiteName: "group.myGroup.myApp") {
    let value1 = userDefaults.string(forKey: "authToken")
    print("retrieved token value\(value1)")
}

这始终打印出nil。我对Swift和Xcode基本上是新手,所以我不知道我在做什么应该工作。我也不确定我是否应该让应用程序在Xcode中运行或共享扩展程序运行,因此我会在两者之间来回切换,但它无论如何都无法正常工作。

我有什么遗漏,或者有人可以提供替代解决方案吗?提前谢谢了!

1 个答案:

答案 0 :(得分:1)

我需要在我的RN项目中调用DefaultPreference.setName('group.myGroup.myApp')。感谢开发该库的kevinresol,为解决方案。