我已经构建了一个 React Native 库模块(使用 RN 0.63)。该模块依赖于一些第三方SDK。当与 Android 集成(使用 .aar 文件)时,它工作得很好。对于 iOS,我已经能够在没有 SDK 的情况下让库模块工作(使用 swift 因此带有桥接头)。添加 SDK 时,我收到诸如 .h is not available 之类的错误。
这是我的目录我的目录结构:
react-native-lib
--android
--ios
----MyCls.swift
----MyCls.m
----react-native-lib-Bridging-Header.h
----SDKS
------DEBUG
--------A.framework
--------B.framework
--------A-Debug.podspec
--------B-Debug.podspec
------THIRDPARTY
--------JSONModel.framework
--------CocoaLumberjack.framework
--------... other frameworks
--react-native-lib.podspec
--Example
--index.js
--Logger.swift
--package.json
Run Code Online (Sandbox Code Playgroud)
我有一个 Swift 示例应用程序,它使用 SDKS 文件夹,但我似乎无法让 RN 识别框架文件/标头。react-native-lib的Podspec文件最后几行如下:
...
s.dependency "React"
s.dependency 'JSONModel', '~> 1.8.0'
s.dependency 'CocoaLumberjack', '~> 3.6.1'
Run Code Online (Sandbox Code Playgroud)
我的示例应用程序 Podfile:
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '11.0'
use_frameworks!
project 'example', {
'Debug' => :debug, …Run Code Online (Sandbox Code Playgroud) ios swift react-native swift-framework react-native-native-module