В настоящее время я пытаюсь интегрировать React-Native в приложение, сделав его компонентным модулем, как упоминалось на странице:
https://artsy.github.io/blog/2018/04/17/making-a-components-pod/
Я могу заставить его работать для упомянутого ими потока. Но при реализации в устаревшей кодовой базе я вижу проблемы
Некоторые сведения о кодовой базе:
- Сочетание ObjC и Swift.
- Использует CocoaPods для сторонних зависимостей.
Проблема, с которой я сталкиваюсь
- Невозможно построить системные каркасы / модули, такие как UIKit
, в моем мостовом заголовке для string.h
, а также в Folly
(см. Скриншот ниже). Бывает и с CoreFoundation
, Darwin
.
Содержимое Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
inhibit_all_warnings!
def shared_pods
pod 'AFNetworking', '3.1'
pod 'AFNetworkActivityLogger', :git => 'https://github.com/AFNetworking/AFNetworkActivityLogger.git', :branch => '3_0_0'
pod 'AppsFlyerFramework'
pod 'Crashlytics'
pod 'Fabric'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'GoogleAnalytics'
pod 'KeychainAccess'
pod 'LGSemiModalNavController', '0.2.0'
pod 'ObjectMapper', '~> 2.2'
pod 'MZFormSheetPresentationController', '~> 2.4.2'
pod 'SDWebImage', '~> 3.7.2'
pod 'TRVSDictionaryWithCaseInsensitivity', '0.0.2'
pod 'SwiftLint'
pod 'SwiftMoment'
# React Native Support
plugin 'cocoapods-fix-react-native'
pod 'GitDawg', :path => '../GitDawg'
pod 'React', :podspec => 'Local Pods/React.podspec.json'
pod 'yoga', :podspec => 'Local Pods/yoga.podspec.json'
end
target 'RedMart' do
shared_pods
end
target 'RedMartAlphaTests' do
shared_pods
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
end
end
end
Компоненты RN поступают из модуля GitDawg
.