Решение 1: Добавление подспец
Предварительное условие : Вам нужно будет настроить React как зависимость cocoapod, чтобы это работало. Кроме того, прежде чем попробовать это, убедитесь, что у вас есть пакет react-native-linea
, доступный в node_modules
.
В этом решении вам нужно создать файл podspec для linea. Вы можете оставить его в своем проекте ScannerApp
или создать оригинальный репозиторий и добавить в него файл podspec. Если вы разветвляетесь, пожалуйста, измените git url в podspec на ваш репо и добавьте пакет react-native-linea
из вашего репо. Вот подспец, который работал для меня,
require 'json'
package = JSON.parse(File.read(File.join(__dir__, '../node_modules/react-native-linea/package.json')))
Pod::Spec.new do |s|
s.name = 'LineaPro'
s.version = package['version']
s.summary = package['description']
s.license = package['license']
s.homepage = 'https://github.com/pablo-coco/react-native-linea'
s.authors = 'pablo-coco'
s.source = { :git => 'https://github.com/pablo-coco/react-native-linea.git', :tag => s.version }
s.source_files = '*.{h,m}','react-native-linea/*.{h,m}'
s.requires_arc = true
s.platforms = { :ios => "9.0" }
s.vendored_libraries = 'libdtdev.a'
s.frameworks = 'ExternalAccessory', 'CoreLocation'
s.dependency 'React'
end
Теперь вам нужно добавить это как зависимость cocoapod в ваш ScannerApp
подфайл. Если вы добавляете файл podspec локально, обязательно укажите его путь, как показано ниже:
pod 'LineaPro', :path => '../node_modules/react-native-linea', :podspec => '../ios/LineaPro.podspec'
Если вы создали fork и добавили podspec для репо, пропустите часть :podspec
.
Решение 2: Добавить исходные файлы напрямую
Это довольно простое решение, и я бы порекомендовал это. Вы можете клонировать репо react-native-linea
локально на своей машине.
- Копирование
DTDevices.h
, RCTLinea.h
, RCTLinea.m
исходных файлов в проект ios
- Копирование
LineaPro.js
, NativeBridges.js
в проект js
- Скопировать
libdtdev.a
статическую библиотеку в проект
- Ссылка
ExternalAccessory
, CoreLocation
фреймворки и libdtdev.a
на вашу цель
Скомпилируйте и напишите js-код для инициализации модуля LineaPro.
Надеюсь, это поможет!