我正在为iOS和Android编写一个React Native应用。在应用程序内部,我有一个按钮,其功能是共享文本和链接。
在Android上,一切正常,对话框将打开并显示所有可能安装的应用程序,以通过其发送链接。
问题出在iOS应用上。即使我检查了是否可以从npm(react-native-share)正确安装库,也尝试了React Native解决方案(从de react-native库导入Share),结果还是一样。
如下面的图片所示,该对话框在iPhone上打开,但未显示任何可共享的内容。
库已很好地链接,并且按照npm上的说明设置了info.plist。
我希望你们中的任何人对这里发生的事情有任何了解。恐怕这个问题与项目的配置或我不得不告诉xcode询问的某些权限有关。 这是我的代码和带有行为的图像。
<ButtonComponent
onPress={() => {
Share.open({
title: 'Share via',
url: 'any link'
})
.then((res) => { console.log(res) })
.catch((err) => { err && console.log(err); })
答案 0 :(得分:1)
我认为您应该在
中编写LSApplicationQueriesSchemesinfo.plist
class State extends Component {
render() {
return (
<Card>
<CardBody className="text-center">
<Button className="bg-primary">
<FormattedMessage id={"state." + this.props.query.findCourseUserStatus.state} defaultMessage="defaultState" />
}
</Button>
</CardBody>
</Card>
);
}
}
export default createFragmentContainer(
State,
graphql`
fragment State_query on Query {
findCourseUserStatus(id: $courseId){
courseId
state
}
},
`
);
答案 1 :(得分:0)
我最终决定寻求另一个解决方案,并使用ActionSheetIOS,它可以正常工作。如果您正在为ios编程,则建议在“共享”库上使用此库。它不需要太多的配置,并且可以完美地工作。