์ค๋ช
:
React Native & Expo SDK ์ค์ ๊ฐ์ด๋๋ฅผ ๋ฐ๋์ต๋๋ค. 5๋จ๊ณ๋ฅผ ์๋ฃํ ํ XCode์์ ๋ด ์ฑ์ ๋น๋ํ๋ ค๊ณ ํ์ต๋๋ค. ๋ค์ ์ค๋ฅ๋ก ์ธํด ๋น๋๊ฐ ์คํจํ์ต๋๋ค.
ld: library not found for -lreact-native-onesignal
clang: error: linker command failed with exit code 1 (use -v to see invocation)
์๋ ์ฐ๊ฒฐ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ ์๋ํ์ง๋ง ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ ์์๋ธ ์ฌ๋์ด ์๋์ง ๊ถ๊ธํ์ญ๋๊น?
๊ฐ์ฌ!
ํ๊ฒฝ
yarn add react-native-onesignal
๋ก ํ๋ก์ ํธ์ SDK ์ถ๊ฐํํ์ผ
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'
target 'OneSignalNotificationServiceExtension' do
pod 'OneSignal', '>= 3.0', '< 4.0'
end
target 'WellnessReactNative' do
config = use_native_modules!
use_react_native!(:path => config["reactNativePath"])
pod 'Stripe', '~> 19.0.1'
pod 'tipsi-stripe', :path => '../node_modules/tipsi-stripe'
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
# use_flipper!
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-config'
phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
phase.shell_script = "cd ../../"\
" && RNC_ROOT=./node_modules/react-native-config/"\
" && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
" && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"
target.build_phases << phase
target.build_phases.move(phase,0)
end
end
# flipper_post_install(installer)
end
end
๋ฌธ์ ์ฌํ ๋จ๊ณ:
์๋
,
ios
๋๋ ํ ๋ฆฌ์์ pod deintegrate && pod install
๋ฅผ ์คํํด ๋ณด์ญ์์ค. ๊ทธ๋๋ ์๋ํ์ง ์์ผ๋ฉด ํด๋ฆฐ ๋น๋๋ฅผ ์คํํด ๋ณด์ญ์์ค. ์ด๋ ๊ฒ๋ ์๋ํ์ง ์์ผ๋ฉด ํ์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด ๋ณด์ญ์์ค.
์๋ ํ์ธ์ @rgomezp ,
๋ต์ฅํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๊ทํ์ ์ ์์ ๊ธฐํ๋ฅผ ์ฃผ์์ง๋ง ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด ์์ ์์ ์๋ ์ฐ๊ฒฐ์ด ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์ฐ๊ฒฐํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ชจ๋ ์ง์ฐ๊ณ ๋์ ์๋ ์ฐ๊ฒฐ์ ์ค์ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ RCTOneSignalExtensionService.m์์ ๋ค์ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
node_modules/react-native-onesignal/ios/RCTOneSignal/RCTOneSignalExtensionService.m:4:9: 'OneSignal.h' file not found
RCTOneSignal.xcodeproj
์ "Frameworks" ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ธํ๋ฉด OneSignal.h
์ฐธ์กฐ๊ฐ node_modules/react-native-onesignal/ios/OneSignal.h
๊ฐ๋ฆฌํค๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ง๋ง ์ด ํ์ผ์ ์กด์ฌํ์ง ์์ต๋๋ค. ์๋ ์ฐ๊ฒฐ์ ์ํฅ์ ์ค ์ ์์ต๋๊น?
์ด์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? Xcode 12๋ก ์ ๋ฐ์ดํธํ ํ์๋ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค.
์๋ ํ์ธ์ @hugoh59 ์ ๋๋ค .
๋์๊ฒ ๋ฌธ์ ๋ ๋ด Cocoapods๊ฐ ๋ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒ์ ๊ฒฝ๋ก๋ฅผ ์ ๋ฐ์ดํธํ์ง ์์๋ค๋ ๊ฒ์ ๋๋ค. ์์ง๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ๋ค...
๊ธฐ๋ณธ ๋์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒ์ ๊ฒฝ๋ก (๋น๋ ์ค์ > ๊ฒ์ ๊ฒฝ๋ก > ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒ์ ๊ฒฝ๋ก)์ ${PODS_CONFIGURATION_BUILD_DIR}/react-native-onesignal
๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํ์ฌ ์ค์น๋ฅผ ์์ ํ์ต๋๋ค.
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!