Нет такой ошибки ModuleName модуля при использовании CocoaPods без use_frameworks! вариант - PullRequest
0 голосов
/ 09 января 2019

Я хочу прекратить использовать use_frameworks!, поэтому мои зависимости связаны статически. Как я знаю, один из способов исправить ошибку No such module 'ModuleName' в этом случае - добавить use_modular_headers! в Podfile.

Проблема в том, что use_modular_headers! приносит еще одну ошибку. Есть ли способ избежать как use_frameworks!, так и use_modular_headers!?

  • CocoaPods: 1.5.3
  • Xcode: 10,1
  • Swift: 4,0

Podfile:

source 'https://github.com/CocoaPods/Specs.git'

plugin 'cocoapods-fix-react-native'

platform :ios, '11.0'
inhibit_all_warnings!

pod 'RxSwift'
pod 'RxCocoa'

target 'AppName' do
  pod 'RxDataSources'
  pod 'R.swift'
  pod 'Kingfisher'
  pod 'KDEAudioPlayer', :git => 'https://github.com/delannoyk/AudioPlayer.git', :branch => 'master'
  pod 'Firebase/Performance'
  pod 'Firebase/Core'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Messaging'
  pod 'Fabric'
  pod 'Crashlytics'
  pod 'GoogleMaps'
  pod 'VIMVideoPlayer'
  pod 'ReachabilitySwift'
  pod 'React', :podspec => '../../react/external/React.0.54.4.podspec.json', :subspecs => [
    'Core',
    'cxxreact',
    'DevSupport',
    'fishhook',
    'RCTLinkingIOS',
    'RCTWebSocket',
    'RCTVibration',
    'RCTText',
    'RCTSettings',
    # Contains deprecated UIKit stuff...
    # 'RCTPushNotification',
    'RCTNetwork',
    'RCTImage',
    'RCTGeolocation',
    'RCTBlob',
    'RCTAnimation',
    'RCTActionSheet',
    'ART',
    'PrivateDatabase',
    'jsinspector',
    'jschelpers',
    'CxxBridge'
  ]
  pod 'yoga', :podspec => '../../react/external/yoga.0.54.4.podspec.json'
  pod 'Folly', :podspec => '../react/node_modules/react-native/third-party-podspecs/Folly.podspec'
  pod 'glog', :podspec => '../react/node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'react-native-video', :path => '../react/node_modules/react-native-video/react-native-video.podspec'

end

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Предварительная версия CocoaPods 1.6.0 может решить проблему с use_modular_headers!.

Если нет, и вы можете предоставить достаточно информации для воспроизведения, сообщите о проблеме CocoaPods .

0 голосов
/ 09 января 2019

Я нашел решение, даже если оно не выглядит хорошим / масштабируемым.

Вместо использования опции use_modular_headers! мы можем импортировать используемые нами классы через BridgingHeader. Что вам нужно сделать, это добавить файл BridgingHeader.h в ваш проект Swift и импортировать все необходимые заголовки. Файл будет выглядеть так:

// These are imported manually to avoid using 'use_modular_headers!' option in Podfile.
// 'use_modular_headers!' leads to error with 'glog' dependency.
import <VIMVideoPlayer/VIMVideoPlayer.h>
import <VIMVideoPlayer/VIMVideoPlayerView.h>
import <React/RCTBridge.h>
import <React/RCTRootView.h>
import <React/RCTBundleURLProvider.h>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...