Skip to content

Support swift libraries linkage with react-native link #13030

Description

@Kureev

Motivation:
Currently, react-native link supports only Objective-C libraries. Therefore, some great libraries (like native-navigation) can't be linked with it. I'd like to make a proposal for supporting Swift modules in react-native link.

Linkage process for Swift modules:
First of all, we need to detect a type of module we want to link. One of the approaches we can take there is to check package.json for a special flag ("isSwiftModule": true? false by default) in rnpm section. If flag is set to true, use a special linkage process described below.

Swift modules for React Native will always depends on React. As far as React is implemented in Objective-C, we need to add a <ProjectName>-Bridging-Header.h if it doesn't exist yet (this file contains Objective-C headers, required by the Swift module). Module developer can specify required headers in the rnpm section of his package.json.
Once file is composed / patched, Swift modules needs to be added to the project. My current assumption is that we can re-use logic we have in place for Objective-C modules (right, @grabbou?).
Theoretically, it should be it for most of react-native modules.

wdyt, @grabbou?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions