React Native Share未在iOS上显示应用程序列表

时间:2018-12-17 13:56:11

标签: javascript ios react-native share

我正在为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); })

enter image description here 谢谢。

2 个答案:

答案 0 :(得分:1)

我认为您应该在

中编写LSApplicationQueriesSchemes

info.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编程,则建议在“共享”库上使用此库。它不需要太多的配置,并且可以完美地工作。