Я работаю над собственным приложением реагирования (отсоединено) и пытался установить OneSignal для push-уведомлений, он отлично работает на Android, но у меня проблемы с ios.
Изначально я получил эту ошибку: 'React / RCTAnimationType.h' файл не найден.
Затем, после поиска ошибки, я обнаружил, что мне нужно указать OneSignal в файле pod (документация OneSignal не говорит об этом или я пропустил это).
После того, как я добавил следующее в файл pod:
pod 'react-native-onesignal',
:path => '../node_modules/react-native-onesignal'
Затем он пожаловался на что-то в спецификации pod, ну, я нашел этот файл и в их репозитории GitHub OneSignal.
поэтому я изменился как:
pod 'react-native-onesignal',
:podspec => "../node_modules/react-native-onesignal/react-native-onesignal.podspec",
:path => '../node_modules/react-native-onesignal'
Запустите команду pod install
Выглядело так, как будто это что-то разрешило, но затем я получил еще одну ошибку:
https://github.com/danieljvdm/react-native-onesignal/blame/620717a0027538999cd98e1f225d0e4d9a804445/react-native-onesignal.podspec
[!] Ошибка установки response-native-onesignal [!] / Usr / local / bin / git
клон
мерзавец + https://github.com/geektimecoil/react-native-onesignal.git.git
/ Var / папки / л.с. / 96xj1gkj76s_x7hbh3rd2vs80000gn / Т / d20180504-46105-1fdo6c6
--template = - одна ветка --depth 1 - ветка v3.1.4
Клонирование в
'/ Вар / папки / л.с / 96xj1gkj76s_x7hbh3rd2vs80000gn / T / d20180504-46105-1fdo6c6' ...
Неустранимый: невозможно найти удаленного помощника для 'git + https'
Мой последний подфайл выглядит так:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'my app' do
pod 'ExpoKit',
:git => "http://github.com/expo/expo.git",
:tag => "ios/2.4.4",
:subspecs => [
"Core",
"CPP",
"GL"
]
pod 'React',
:path => "../node_modules/react-native",
:inhibit_warnings => true,
:subspecs => [
"Core",
"ART",
"RCTActionSheet",
"RCTAnimation",
"RCTCameraRoll",
"RCTGeolocation",
"RCTImage",
"RCTNetwork",
"RCTText",
"RCTVibration",
"RCTWebSocket",
"DevSupport",
"CxxBridge"
]
pod 'yoga',
:path => "../node_modules/react-native/ReactCommon/yoga",
:inhibit_warnings => true
pod 'DoubleConversion',
:podspec => "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec",
:inhibit_warnings => true
pod 'Folly',
:podspec => "../node_modules/react-native/third-party-podspecs/Folly.podspec",
:inhibit_warnings => true
pod 'glog',
:podspec => "../node_modules/react-native/third-party-podspecs/glog.podspec",
:inhibit_warnings => true
pod 'react-native-onesignal',
:podspec => "../node_modules/react-native-onesignal/react-native-onesignal.podspec",
:path => '../node_modules/react-native-onesignal'
post_install do |installer|
installer.pods_project.main_group.tab_width = '2';
installer.pods_project.main_group.indent_width = '2';
installer.pod_targets.each do |target|
if target.pod_name == 'ExpoKit'
target.native_target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'EX_DETACHED=1'
# needed for GoogleMaps 2.x
config.build_settings['FRAMEWORK_SEARCH_PATHS'] ||= []
config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '${PODS_ROOT}/GoogleMaps/Base/Frameworks'
config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '${PODS_ROOT}/GoogleMaps/Maps/Frameworks'
end
end
if ['Amplitude-iOS','Analytics','AppAuth','Branch','CocoaLumberjack','FBSDKCoreKit','FBSDKLoginKit','FBSDKShareKit','GPUImage','JKBigInteger2'].include? target.pod_name
target.native_target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
end
end
# Build React Native with RCT_DEV enabled
next unless target.pod_name == 'React'
target.native_target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_DEV=1'
end
end
end
end
Мне просто кажется, что я делаю слишком много из того, что нужно сделать, может быть, кто-нибудь может дать мне знать, что я здесь делаю неправильно?
Забыл упомянуть, что перед тем, как что-то делать, я связал библиотеку с помощью response-native link реагировать-native-onesignal для Android и iOS.