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 设置说明。
- 为 android 和 iOS 设置正确的权限(目前正在 iOS 模拟器上测试)
- Android:
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" />
- iOS:
- 向 info.plist
添加了“隐私 - 联系人使用说明”键
我使用的是 RN 0.69,所以应该启用自动链接?不确定我错过了什么?
我是 react-native/mobile 开发的新手,所以这可能很明显也可能不明显,但我找到了问题所在。
- 我正在使用 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>
- 我 运行 地铁到 运行 捆绑包并在模拟器上进行测试。应该在 Xcode 或命令行 运行ning
$ npx react-native start run-ios
中重建包。可能是一个菜鸟错误,但有我的解决方案。正在成功访问联系人
我正在关注 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 设置说明。
- 为 android 和 iOS 设置正确的权限(目前正在 iOS 模拟器上测试)
- Android:
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" />
- iOS:
- 向 info.plist 添加了“隐私 - 联系人使用说明”键
我使用的是 RN 0.69,所以应该启用自动链接?不确定我错过了什么?
我是 react-native/mobile 开发的新手,所以这可能很明显也可能不明显,但我找到了问题所在。
- 我正在使用 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>
- 我 运行 地铁到 运行 捆绑包并在模拟器上进行测试。应该在 Xcode 或命令行 运行ning
$ npx react-native start run-ios
中重建包。可能是一个菜鸟错误,但有我的解决方案。正在成功访问联系人