React-Native-Contacts:无法读取 null 的 属性 'getAll'

React-Native-Contacts: Cannot read property 'getAll' of null

我正在关注 this 博客以设置 react-native-contacts。按照我尝试获取所有联系人的步骤后

    Contacts.getAll().then((contacts) => {
      console.log(contacts)
    })

我收到这个错误。

TypeError: Cannot read property 'getAll' of null

出于某种原因,从 react-native-contacts 导入 Contacts 似乎为空?

我不确定我的设置是否有问题。我接着阅读了 react-natives-contacts 设置说明。

PermissionsAndroid.request(
  PermissionsAndroid.PERMISSIONS.READ_CONTACTS,
  {
    'title': 'Contacts',
    'message': 'This app would like to view your contacts.',
    'buttonPositive': 'Please accept bare mortal'
  }
)
  .then(Contacts.getAll()
    .then((contacts) => {
        // work with contacts
          console.log(contacts)
        })
          .catch((e) => {
              console.log(e)
          }))

-----------------------------

// in AndroidManifest.xml

<uses-permission android:name="android.permission.READ_CONTACTS" />

我使用的是 RN 0.69,所以应该启用自动链接?不确定我错过了什么?

我是 react-native/mobile 开发的新手,所以这可能很明显也可能不明显,但我找到了问题所在。

  1. 我正在使用 VS Code 并且只是将密钥和字符串添加到 info.plist 文件是 NOT 你想要的去做。我是手动添加
<key>Privacy - Contacts Usage Description</key>
<string>insert message about accessing contacts...</string>

想要做的是打开Xcode并从选择隐私-联系人使用说明[的下拉列表中添加密钥和字符串 并在 info.plist

中添加字符串
<key>NSContactsUsageDescription</key>
<string>insert message about accessing contacts...</string>
  1. 我 运行 地铁到 运行 捆绑包并在模拟器上进行测试。应该在 Xcode 或命令行 运行ning $ npx react-native start run-ios 中重建包。可能是一个菜鸟错误,但有我的解决方案。正在成功访问联系人