์ด๋ด,
์ด๊ฒ์ RN ํ๋ก์ ํธ๋ก ๊ฐ์ ธ์ฌ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค(Parse์์ ๋ง์ด๊ทธ๋ ์ด์ !).
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_OneSignal", referenced from:
objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
์ํคํ ์ฒ๋ ๋ค๋ฅด์ง๋ง https://github.com/geektimecoil/react-native-onesignal/issues/5 ์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค.
๋๋ ObjectiveC์ ๋ํด ๊ฝค ์ต์ํ์ง ์์ง๋ง ๋ด๊ฐ ํ์์ ๋ฐ๋ผ ์๋ด๋ฅผ ๋ฐ์ ์ ์๋ค๋ฉด PR์ ๋ฐํํ ์ ์๊ณ ๋์ธ ์ ์๋ ๊ณณ์์ ๊ธฐ๊บผ์ด ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ๋๋ฅผ ๋์ธ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
๊ฐ์ฌ ํด์
์ฌ๋ฆฌ
@olliebrennan ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ จ์ต๋๊น? ๋๋ ๋ฌด์์ํด์ผํ ์ง ์์ ๋ด๊ธฐ ์ํด # 5์ ๋ํ ์ปค๋ฐ์ ์ฐพ๊ณ ์์ต๋๋ค. ์ ๋ iOS ๊ฐ๋ฐ์๊ฐ ์๋ JS ๊ฐ๋ฐ์์ด๊ธฐ ๋๋ฌธ์ ๋ค์ํ ์ค์ ์ ์ต์ํ์ง ์์ต๋๋ค.
@jkasten2 ๊ฐ ์ฌ๊ธฐ์ ๋์์ด ๋ ๊น์?
@jamiemchale ์ ํ์ด์. ์์ ์ด ์ฌ ๋๊น์ง Parse๋ฅผ ์ฌ์ฉํ์ฌ ๋ด ์ฑ์ ๋ ๋ฌ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ํ ์ ์์ผ๋ฉด ๊ธฐ๊บผ์ด ๋์์ฃผ์ง๋ง ๋ง์ํ์ ๋๋ก iOS ์ธ์ด/์ค์ ์ ์ต์ํ์ง ์์ต๋๋ค.
@olliebrennan @avishayil
Cocoa ํฌ๋์ ํจ๊ป OneSignal ํ๋ฌ๊ทธ์ธ์ ์ค์นํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ํ๋ก์ ํธ์ ๋ํ OneSignal ๊ธฐ๋ณธ ํ๋ ์์ํฌ๋ฅผ ์ฐธ์กฐํ์ง ์์ ์ ์์ต๋๋ค. OneSignal.framework๋ฅผ Finder์์ XCode๋ก ๋์ด๋ค ๋์ ๋ง์ปค ์ค๋ฅ๋ฅผ ์์ ํ ์ ์์ต๋๋ค. ์์ด ์๋ํ์ง ์์ผ๋ฉด "ํ์ํ ๊ฒฝ์ฐ ํญ๋ชฉ ๋ณต์ฌ"๋ฅผ ์ ํํด์ผ ํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก Xcode 7.0 ์ด์์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ญ์์ค. ์ด์ ๋ฒ์ ์ Xcode๋ ์ฌ๊ธฐ์์ ๋๊ฐ์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค.
@jkasten2 ๊ฐ์ฌํฉ๋๋ค
๋๋ ์์ผ๋ก ๋ฉฐ์น ์์ ์ถ์๋ ์์ ์ด๋ฉฐ ์ด๊ฒ์ ์๋ํ๊ณ ๋ค์ ๋ณด๊ณ ํ ๊ฒ์
๋๋ค.
๊ฑด๋ฐฐ
+1 OSX์์ ์ ์ฌํ ๋ฌธ์ ๊ฐ ์์
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_OneSignal", referenced from:
objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
OneSignal.framework
์(๋ฅผ) ๋์ณค์ต๋๋ค. appname/node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework
๋ฅผ XCode์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋๋๊ทธํ๋ ค๊ณ ํ์ต๋๋ค. ๊ทธ๋๋ ์๋์ด ์๋๋.
appname/ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework
๋ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค.
@olliebrennan ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ จ์ต๋๊น?
@olliebrennan ๊ณผ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ๋ค์๊ณผ ๊ฐ์ด ํด๊ฒฐํ์ต๋๋ค.
node_modules/react-native-onesignal/ios/Frameworks
ํด๋๋ฅผ XCode์ ์ผ์ชฝ ํจ๋ ์๋์ ์๋ RCTOneSignal.xcodeproj๋ก ๋๋๊ทธํฉ๋๋ค.Hey @hyperh @olliebrennan ํด๊ฒฐํ์ จ๋์?
@avishayil ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๋ด APN ํญ๋ชฉ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด apnagent์ ํจ๊ป ๊ฐ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ ๊ณ ํด ์ฃผ์ธ์. ์ง๊ธ์ ์ด ๋ฌธ์ ๋ฅผ ๋ซ์ต๋๋ค.
@avishayil ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. @whollacsek ์ ์ง์นจ์ ๋ฐ๋ผ ์๋ํ์ง๋ง XCode์์ ์ฌ์ ํ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
@chrissm79 ๋ฐ ๊ธฐํ์ ๋์ผํ ๋ฌธ์
๋ฐฉ๊ธ ์ฌ๊ธฐ์ ์๊ณ ์, ๋์ผํ ๋ฌธ์ ์ ๋๋ค.
+1
๊ทธ๊ฒ์ ๋ํด ์ฐพ๊ณ ์์ต๋๋ค. ์ฌ์์ฐ ๋จ๊ณ๊ฐ ์์ต๋๊น?
๋๋ ์ด ๋ฌธ์ ๋ฅผ ๊ฒฝํํ๊ณ Finder์์ ๋ด XCode ํ๋ก์ ํธ์ Frameworks ํด๋๋ก ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework๋ฅผ ํด๋ฆญํ๊ณ ๋๋๊ทธํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค.
@chrissm79 ์ ๋๊ฐ์ ๋ฌธ์
ํธ์ง: node_modules ํด๋์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๋์ ํ๋ ์์ํฌ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๋ฌธ์ํ๋ ๋งํฌ์์ ๋งํฌํ์ฌ ํด๊ฒฐํ์ต๋๋ค.
์ฐธ์กฐํ๊ณ ์ฌ์ํ ์์ ํ๋ก์ ํธ๊ฐ ์๋์ง ํ์ธํ์ญ์์ค.
๋ชจ๋ ๋ช
๋ น์ ๋ฐ๋ฅด๊ณ ์์ผ๋ฏ๋ก ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์์ผ ํฉ๋๋ค.
2016๋
7์ 2์ผ ์ค์ 12์ 37๋ถ์ "Charles Hulcher" [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@chrissm79 https://github.com/chrissm79 ์ ๋๊ฐ์ ๋ฌธ์
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/geektimecoil/react-native-onesignal/issues/18#issuecomment -230052711,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe/AAyekNTkU15t6IP4zvQzg06yXzUf0akHks5qRYiBgaJpZM4IHVBS
.
์ ๋ ์ด ๋ฌธ์ ๊ฐ ์๋๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค
ld: ๊ฒฝ๊ณ : /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd ํ์ผ ๋ฌด์, /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd ํ์ผ์ ํ์ํ ์ํคํ
์ฒ x86_64 ๋๋ฝ(3 ์กฐ๊ฐ)
์ํคํ
์ฒ x86_64์ ๋ํ ์ ์๋์ง ์์ ๊ธฐํธ:
"_OBJC_CLASS_$_XCTestCase", ๋ค์์์ ์ฐธ์กฐ:
_OBJC_CLASS_$__TtC6Camera11toucanTests in toucanTests.o
"_OBJC_METACLASS_$_XCTestCase", ๋ค์์์ ์ฐธ์กฐ:
_OBJC_METACLASS_$__TtC6Camera11toucanTests in toucanTests.o
ld: x86_64 ์ํคํ
์ฒ์ ๋ํ ๊ธฐํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
clang: ์ค๋ฅ: ๋ง์ปค ๋ช
๋ น์ด ์ข
๋ฃ ์ฝ๋ 1๊ณผ ํจ๊ป ์คํจํ์ต๋๋ค(ํธ์ถ์ ๋ณด๋ ค๋ฉด -v ์ฌ์ฉ).
์ ๋ react-native 0.37์ ์ฌ์ฉ ์ค์ด๋ฉฐ ์ด๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด์ฌ์ค๋๋ค.
npm install react-native-onesignal --save
react-native link
import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage;
๊ฐ ์๋ import com.geektime.rnonesignal.ReactNativeOneSignalPackage;
์ฌ์ฉํด์ผ ํฉ๋๋ค(์ผ๋ถ ์ด์ ๋ฌธ์์๋ rnonesignal์ด ์์๊ณ ์ดํ ์
๋ฐ์ดํธ๋จ)RN์ v0.37๋ณด๋ค ๋ฎ์ ๊ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ YMMV. ํ์ด์ ๋น๋๋ค.
๋ฌธ์ ํด๊ฒฐ๋จ!!
ํ๋ก์ ํธ ํ์๊ธฐ์์ Pods ์น์ ์ผ๋ก ์ด๋ํ์ฌ oneSignal.framework๋ฅผ ์ฐพ์ ๋์ ์๋์ ์๋ 'Link Binary with library'๋ก ๋๋๊ทธํ๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌ๋ ํ์ผ๋ณด๋ค ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๋ ์ฐ๊ฒฐ๋ก ํด๊ฒฐ:
https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual - ๋งํฌ
์ ๊ฒฝ์ฐ์๋ podfile
์ ๋ค์ ์ค์ ์ถ๊ฐํ๊ณ pod install
๋ค์ ์คํํด์ผ ํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ Clean
๋ฅผ ์คํํ๊ณ ๋ค์ ๋น๋ํฉ๋๋ค.
ํฌ๋ 'react-native-onesignal', :๊ฒฝ๋ก => '../node_modules/react-native-onesignal'
์ ๊ฒฝ์ฐ์๋ ์ด์ React Native 0.39.0 ํ๋ก์ ํธ๋ฅผ ์คํํ๋ฉด์ react-native link
, Clean
๋น๋ ๋ฐ Build
ํ๋ก์ ํธ๋ฅผ ๋ค์ ์ํํด์ผ ํ์ต๋๋ค.
์ ๊ฒฝ์ฐ์๋ libRCTOneSignal.a๊ฐ ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ๋งํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๋๋ฝ๋์์ต๋๋ค. ๋ฐฉ๊ธ ์ถ๊ฐํ๊ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์ฌ๊ธฐ์์ ๋ ๋ฒ์งธ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅผ ์ ์์ต๋๋ค. https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@olliebrennan ๊ณผ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ๋ค์๊ณผ ๊ฐ์ด ํด๊ฒฐํ์ต๋๋ค.
node_modules/react-native-onesignal/ios/Frameworks
ํด๋๋ฅผ XCode์ ์ผ์ชฝ ํจ๋ ์๋์ ์๋ RCTOneSignal.xcodeproj๋ก ๋๋๊ทธํฉ๋๋ค.