OS X El Capitan v10.11.4์์
๋
ธ๋ --๋ฒ์ v6.0.0
npm --v 3.8.8
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 0.2.0
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.24.1
ํ์๊พผ --v 4.4.0
์์ค์ฝ๋ 7.3
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ์ด๊ธฐํ AwesomeProject
$ cd ์ด์ธํ๋ก์ ํธ
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฐ-ios
** BUILD FAILED **
The following build commands failed:
PhaseScriptExecution Run\ Script /development/misc/react/AwesomeProject/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/React.build/Script-006B79A01A781F38006873D1.sh
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/AwesomeProject.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/development/misc/react/AwesomeProject/node_modules/promise/lib/done.js:10
throw err;
^
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
at checkExecSyncError (child_process.js:470:13)
at Object.execFileSync (child_process.js:490:13)
at _runIOS (runIOS.js:91:34)
at runIOS.js:24:5
at tryCallTwo (/development/misc/react/AwesomeProject/node_modules/promise/lib/core.js:45:5)
at doResolve (/development/misc/react/AwesomeProject/node_modules/promise/lib/core.js:200:13)
at new Promise (/development/misc/react/AwesomeProject/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/development/misc/react/AwesomeProject/node_modules/react-native/local-cli/cli.js:86:13)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)
๋๋ ๋น์ ์ด StackOverflow์๋ ๊ฒ์ํ ๊ฒ์ ๋ณด์์ต๋๋ค. ์ง๊ธ๊น์ง ์ด์ด ์์์ต๋๊น? master
์(๋ฅผ) ๊ฐ์ง๊ณ ๋๊ณ ์๋๋ฐ ์ฌ์์ฐํ ์ ์์ต๋๋ค. sudo
๋๋ ๊ถํ๊ณผ ๊ฐ์ด ์ฌ๊ธฐ์ ์ค๋ช
๋ ๋ฌธ์ ์ค ํ๋์ผ ์ ์์ต๋๋ค. ๋ํ Info.plist
์ CFBundleIdentifier
$#$ ๊ฐ ์์ต๋๊น?
๋ชจ๋ ๋ ธ๋ ๋ชจ๋์ ์ญ์ ํ๊ณ ์บ์ ๋ฑ์ ์ง์ฐ๊ณ ์ด๋ ์์ด sudo๋ฅผ ์ญ์ ํ๋ ค๊ณ ํ์ต๋๋ค. Info.plist์ ๋ค์๊ณผ ๊ฐ์ด CFBundleIdentifier๊ฐ ์์ต๋๋ค.
<key>CFBundleIdentifier</key>
<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>
@grabbou ๋ ธ๋ 6์ผ๋ก ์๋ํ๊ณ ์์ต๋๊น? ๋๋ ๊ทธ๊ฒ์ ์ฌํ ํ ์ ์์์ง๋ง ์ง๊ธ๊น์ง ๋ ธ๋ 4 & 5๋ก๋ง ์๋ํ๊ณ ์์ง 6์ ์ค์นํ์ง ์์์ต๋๋ค. ์๋ง๋ ๊ฑฐ๊ธฐ ๋ฌธ์ ๊ฐ ์๋๊น์?
@dsibiski ์ด์ ์ ๋ ธ๋ 5.9๊ฐ ์์๊ณ ๋์ผํ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. node/npm์ ์ ๊ฑฐํ๊ณ ๋ชจ๋ ๋ ธ๋ ๋ชจ๋์ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํ์ต๋๋ค(๋ด ์ปดํจํฐ์ ๋ ธ๋ 6์ด ์๋ ๊ฒฝ์ฐ). ํ์ง๋ง ์ฌ์ ํ ์์ ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋๋ ๋น์ทํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
OS X El Capitan v10.11.4์์
๋
ธ๋ --๋ฒ์ v6.0.0
npm --v 3.8.6
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 0.2.0
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.24.1
ํ์๊พผ --v 4.4.0
์์ค์ฝ๋ 7.3
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ์ด๊ธฐํ AwesomeProject
$ cd ์ด์ธํ๋ก์ ํธ
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฐ-ios
* ๋น๋ ์ฑ๊ณต *
๋ค์ ๋ช
๋ น์ ๋ถ์๊ธฐ ๋ฌธ์ ๋ฅผ ์์ฑํ์ต๋๋ค.
๋ชจ๋/RCTUIManager.m ๋ถ์
(๋ถ์๊ธฐ ๋ฌธ์ ๊ฐ ์๋ ๋ช
๋ น 1๊ฐ)
build/Build/Products/Debug-iphonesimulator/AwesomeProject.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
/Users/shinout/workspace/AwesomeProject/node_modules/promise/lib/done.js:10
์ค๋ฅ๋ฅผ ๋์ง๋ค;
^^
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
at checkExecSyncError (child_process.js:470:13)
at Object.execFileSync (child_process.js:490:13)
at _runIOS (runIOS.js:91:34)
at runIOS.js:24:5
at tryCallTwo (/Users/shinout/workspace/AwesomeProject/node_modules/promise/lib/core.js:45:5)
at doResolve (/Users/shinout/workspace/AwesomeProject/node_modules/promise/lib/core.js:200:13)
at new Promise (/Users/shinout/workspace/AwesomeProject/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/Users/shinout/workspace/AwesomeProject/node_modules/react-native/local-cli/cli.js:86:13)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)
์ ๊ฒฝ์ฐ์๋ BUILD๊ฐ ์ฑ๊ณตํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ ์ค๋ฅ ๋ฉ์์ง์ ํจ๊ป ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ฉ๋๋ค.
๋ด ํ๋ก์ ํธ ์ค ํ๋์์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค... XCode ๋น๋๋ก๋ง ํด๊ฒฐํ ์ ์์ต๋๋ค. ํ๋ก์ ํธ๋ช ์ ๋ณ๊ฒฝํด์ ๋์จ ๊ฒ ๊ฐ์์.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค! ํฌํธ 8081์ด ์ฌ์ฉ ์ค์ธ ๊ฒ ๊ฐ์ต๋๋ค.
lsof -n -i4TCP:8081
node 7601 CXI624 23u IPv6 0xc6b249599e5f1169 0t0 TCP *:sunproxyadmin (LISTEN)
๊ทธ๋์ ๋๋ React Native Troubleshooting https://facebook.github.io/react-native/docs/troubleshooting.html ์ ์ง์นจ์ ๋ฐ๋์ต๋๋ค.
kill - 9 7601
react-native run-ios ๋ช ๋ น์ ๋ค์ ์คํํ๊ณ ๋ชจ๋ ๊ฒ์ด ์์๋๋ก ์๋ํ์ต๋๋ค(๋ ธ๋ 6์์๋).
์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํ๊ณ ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
@arun0009 ๊ต์ฅํฉ๋๋ค, ์ฌ๊ธฐ์ ๋ต๋ณ์ ๋ค์ ๊ฒ์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐
@shinout ์๋ ํ์ธ์, ์ ๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋๋ฐ ํด๊ฒฐํ์ จ๋์?
์์ง... ๋๋์ด ์ ๋งฅ์ ์ฌ์ ํด๊ฒฐํ์ต๋๋ค.
react-native upgrade
๋ช
๋ น์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ๋ค์ํ xcode ํ์ผ์ ์ผ๋ถ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ฌ์ค์ ํ๋ ๋ฐ ๋์์ด ๋์์ต๋๋ค. ์ ์ด๋ ๊ทธ๊ฒ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๊ฒ์ ๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค. ์ฌ์ ํ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ ธ๋ 5.11
์ฌ์ ํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ํฌํธ 8081์์ ์ข
๋ฃ ํ๋ก์ธ์ค๊ฐ ์๋ํ์ง ์์์ต๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 0.2.0
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.26.2
๋
ธ๋: 5.3.0
npm: 3.3.12
๋ค์์ ์คํํ์ฌ ์ ํ๋ก์ ํธ ์ค์ ์ผ๋ก ํ
์คํธํ์ต๋๋ค.
$ react-native init newProj && cd newProj
$ react-native run-ios
๋ค์์ ์ ๋ ฅํด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ง๋ง "๋ถํ ๋ ์ฅ์น๊ฐ ์์ต๋๋ค"..
sudo react-native run-ios
8081์์ ๋ค๋ฅธ ๋ฐ์ ํจํค์ง ํ๋ก๊ทธ๋จ์ ์คํํ์ต๋๋ค. ํด๋น ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๋ฉด ์๋ํฉ๋๋ค.
sudo๋ก ์คํํด๋ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
@consideRatio ์ ์ ์ ์๋ฃจ์ ์ด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
react-native upgrade
XCode๋ฅผ 7.3.1๋ก ์ ๊ทธ๋ ์ด๋ํ ํ ์๋
๋ถํํ๋ ์ฌ๊ธฐ์ ๊ฒ์ ๋ ๊ฒ์ ์๋ฌด๊ฒ๋ ์์ต๋๋ค :(
์ ๊ฒฝ์ฐ์๋ ProductName์ด ์์๋์์ต๋๋ค.
๋ด ํ๋ก์ ํธ ์ด๋ฆ, ๋ด ํ๋ก์ ํธ์ ์คํค๋ง ์ด๋ฆ ๋ฐ ์ ํ ์ด๋ฆ์ ๋ชจ๋ ๋์ผํ๊ฒ ๋ณ๊ฒฝํด์ผ ํ๊ณ ๊ทธ ํ์ ์์์ ์ธ๊ธํ ์ค๋ฅ๊ฐ ํ์๋๊ธฐ ์์ํ์ต๋๋ค.
๋ด CFBundleIdentifier(๋๋ Xcode์์ Info.plist๋ฅผ ๋ณด๊ณ ์๋ ๊ฒฝ์ฐ "๋ฒ๋ค ์๋ณ์")์ ๋ํ ๋ด์ฉ์ ํ์ธํ๊ธฐ ์ํด Info.plist์ ๊ฐ์ ๋ ๋ค์์ ๋ณด์์ต๋๋ค.
com.{ํ์ฌ}.mobile.$(PRODUCT_NAME:rfc1034์๋ณ์)
๊ทธ๋์ ๊ธธ์
๋๋ค.
๊ทธ๋์ Xcode์์ ์กฐ์ฌํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ผ์ชฝ ์ฐฝ์์ ํ๋ก์ ํธ ์ด๋ฆ์ ํด๋ฆญํ๊ณ BuildSettings๋ก ์ด๋ํ์ต๋๋ค. ๋ด ProductName์ ํจํค์งํ๋ ๋์ "MyAwesomeApp"์ด "MyAwesomeAppApp"๊ณผ ๊ฐ์ ๊ฒ์ด๋ผ๊ณ ๋งํ์ญ์์ค. ๋ง์ง๋ง ๋ถ๋ถ์ ๋ ๋ฒ ๋ฐ๋ณต๋์์ต๋๋ค. ๋งํ ํ์๋ ์์ด Xcode์ ์ ์ฅ๋ ๋ด ProjectName(MyAwesomeApp)๊ณผ ์ผ์นํ๋๋ก ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค.
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฐ-ios
๋ฌธ์ ์์ด ์๋ํ์ต๋๋ค.
์ด์ ์ค๋ฅ๊ฐ ํ์๋๋ ์ด์ ๊ฐ ์ดํด๊ฐ ๋ฉ๋๋ค.
"์ ๊ณต๋ ๊ฒฝ๋ก์์ ์์ฉ ํ๋ก๊ทธ๋จ ๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค."
"๊ฒฝ๋ก"๊ฐ ์๋ชป๋์์ต๋๋ค!
๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ ํ์์ ๊ด๊ณ์์ด ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํญ์ ํฌํธ 8081์ ์ ์ ํ๊ณ ์๋ ๊ฒฝ์ฐ ํฌํธ๋ฅผ ๋ณ๊ฒฝํด ๋ณด์ญ์์ค.
๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ด ํฐ์ผ์์ ์ธ๊ธํ ๊ฒ๊ณผ ๋์ผํ Entry, ":CFBundleIdentifier", Does Not Exist
์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๋ค. ๋ ๋
ธ๋ ฅ ํ์ด:
๋ค๋ฅธ ์์ด๋์ด๊ฐ ์์ต๋๊น?
ํฅ๋ฏธ๋กญ๊ฒ๋ XCode์์ .xcworkspace
๋ฅผ ์ด๊ณ ์คํํ๋ฉด ๋ชจ๋ ๊ฒ์ด ์๋ํฉ๋๋ค.
๊ฒฐ๊ตญ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์๋ ๊ฒ์ XCode์์ ์ด๊ณ ๊ณํ์ ๋ฆด๋ฆฌ์ค ๋น๋์์ ๋๋ฒ๊ทธ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ค๋ ๊ฒ์ด์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ํ์คํ ํ์ธํด์ผ ํ ์ฌํญ์
๋๋ค. ํ ๋ฒ ๋ณ๊ฒฝํ ํ ๋ช
๋ น์ค์ ํตํด react-native run-ios
์คํํ ์ ์์ต๋๋ค.
@joshschumacher ์ ๊ทธ๋ ์ด๋๊ฐ ์๋ํ์ต๋๋ค.
์๋ฌด๊ฒ๋ ์์ ๋์ง ์์ผ๋ฉด Xcode๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์.
@ stief510 ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค! ๊ฐ์ฌ ํด์!
@gvlamadrid ๊ฐ ๋งํ๋ฏ์ด
์๋ฌด๊ฒ๋ ์์ ๋์ง ์์ผ๋ฉด Xcode๋ฅผ ์ฌ์ฉํด ๋ณด์ธ์.
- ํ์ผ -> ํ๋ก์ ํธ ์ค์ ์ผ๋ก ์ด๋ํฉ๋๋ค.
- ๊ณ ๊ธ ๋ฒํผ์ ํด๋ฆญํ์ญ์์ค
- "Custom"์ ์ ํํ๊ณ ํ๋ค์ด์์ "Relative to Workspace"๋ฅผ ์ ํํฉ๋๋ค.
- ํด๋ฆญ ์๋ฃ, ์๋ฃ
์๋ฌด๊ฒ๋ ๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค ...
์ ๋ฅผ ์ํด ์์ ํ์ง ์์์ต๋๋ค(ํฌํธ๋ฅผ ์ฃฝ์ด๊ณ ํ๋ก์ ํธ ์ค์ ์ ๋ณ๊ฒฝํ ๋ฑ).
๋์๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. ๋ ธ๋ v6.2.2 ์ฌ์ฉ
๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค. ์ํ์ด, ๋ค์ดํฐ๋ธ ๋ฐ์...
@trevorwang ๋๋ถ ์ ์ ์๊ฒ ๋์์ด ๋์์ต๋๋ค.
๋ด ๋ฌธ์ ๋ ๋ํ ํฌํธ 8081์์ ์คํ์ค์ธ ๊ฒ์ด ์๋ค๋ ๊ฒ์
๋๋ค ( sudo lsof -n -i4TCP:8081
์คํํ์ฌ ๋ฐ๊ฒฌ)
$ react-native init
react-native init --version 0.27
๋ฅผ ์คํํ์ฌ ํ๋ก์ ํธ๋ฅผ ์์ฑํ์ฌ ์ด์ ๋ฒ์ ์ react-native๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ฌ๊ธฐ ์ฒซ ๋ฒ์งธ ๋จ๊ณ ์์ ์ค๋ช ํ ๋๋ก appdelegate.m ํ์ผ๊ณผ React.xcodeproj ๋ฐ RCTWebSocketExecutor.m์ ๋ณ๊ฒฝํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ํ๋ก์ ํธ ํด๋์์ react-native ios-run
๋์ npm start -- --port 5000
๋ฅผ ์ํํ ๋ค์ โ+R ์ ์ฌ์ฉํ์ฌ Xcode์์ ํ๋ก์ ํธ๋ฅผ ์คํํ์ต๋๋ค.
์, ์ด ๋ฌธ์ ๋ ์๋ฎฌ๋ ์ดํฐ์์ ์คํ๋์ง ์๋ ๋ฐ์ ๋ค์ดํฐ๋ธ ์ฑ์ ๋ํ ์์ Google ๊ฒฐ๊ณผ ์ค ํ๋์ ๋๋ค("๋ถํ ๋ ์ฅ์น ์์"). ์ด๊ฒ์ด ์ฌ๋๋ค์๊ฒ ์ฌ์ ํ ๋จ์ ์๋ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์ ๋ณด๋ฅผ ๋ฒ๋ฆฌ๊ณ ์์ต๋๋ค - YMMV.
์ด๊ฒ์ ์๊ณ๋ฅผ ์ํด iOS ์์
์ ํ ๋ ๋์๊ฒ ์ผ์ด๋ฌ์ต๋๋ค. ์ข
์ข
์๋ฎฌ๋ ์ดํฐ๋ ์ง์ฅ์ฒ๋ผ ๋ถ์์ ํฉ๋๋ค. ps aux | grep Simulator
๋ ๋ณดํต ์ด๋ฏธ ์ฃฝ์์ด์ผ ํ ๋ฌด์ธ๊ฐ๋ฅผ ๋์๊ฒ ์ค ๊ฒ์
๋๋ค. ๋ค์ ๋จ๊ณ๋ ์ผ๋ฐ์ ์ผ๋ก ์ ์๊ฒ ํจ๊ณผ์ ์
๋๋ค.
ps aux | grep Simulator
๋๋ ์ ํธํ๋ ์ ๋ง๋ฒ์ด ๋ฌด์์ด๋ ๊ฐ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ข
๋ฃ๋์ง ์์ ๊ฒ์ด ๋จ์ ์๋์ง ํ์ธํ์ญ์์ค. ๋ฌด์ธ๊ฐ๊ฐ ์๋ค๋ฉด kill
์
๋๋ค.react-native run-ios
). ์ฌ์ ํ "๋ถํ
๋ ์ฅ์น ์์" ์ค๋ฅ๊ฐ ํ์๋๋ฉด(์๋ฎฌ๋ ์ดํฐ๊ฐ ๊ฒ์์ ํ๋ฉด์) Hardware -> Reboot
๋ฅผ ํตํด ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ ํ ์ฌ๋ถํ
ํ ๋ค์ ์ฑ์ ์ฝ๋๋ค.์ค์ ๋ก ํฌํธ 8081์์ ์คํ ์ค์ธ ํญ๋ชฉ์ด ์์ผ๋ฉด ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ค ์ด์ ๋ก ์น์์ ์ด ํญ๋ชฉ์ ๋ํ ๋ต๋ณ์ด ๊ฐ์ฅ ๋ง์ ์๋ฃจ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด ๋จ๊ณ๋ ๊ฑฐ์ ๋งค๋ฒ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
๋ํ Info.plist
์์ NSAppTransportSecurity
์ค์ ์ ๋ณ๊ฒฝํ๋ฉด ์ด ํญ๋ชฉ์ด ์๋ง์ด ๋ ์ ์์ต๋๋ค.
@joshschumacher ๋ ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค.
react-native upgrade
๊ฐ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์๊ณ 8081์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ react-native run-ios
์ ์ํด ์์๋๊ธฐ ๋๋ฌธ์ ํฌํธ 8081์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค์งํ์ง ์์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์๋์ผ๋ก ์ฝ๋๋ฅผ ์์ ํด์ผ ํฉ๋๋ค.
RCTSRWebSocket.m์ SecRandomCopyBytes -> (void)SecRandomCopyBytes
๊ทธ๋ฐ ๋ค์ react-native run-ios
๋ฅผ ๋ค์ ์๋ํ๋ฉด ํจ๊ณผ์ ์ด์์ต๋๋ค.
@ stief510 ์๋ฃจ์
์ ์ ํํ ๋๋ฅผ ์ํด ํ ๊ฒ์
๋๋ค. ๋ฐฉ๋ฒ์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. xcode์์ Product
Scheme
ํ๋ผ์ด์์ ๋ฉ๋ด์์ ํ๋จ์ ๋ณด๋ฉด Edit
๊ฐ ํ์๋ฉ๋๋ค. ํด๋ฆญํ์ธ์. ๋ชจ๋ฌ ๋ฉ๋ด๊ฐ ๋ํ๋ฉ๋๋ค. ๋น๋ ๊ตฌ์ฑ์๋ ์ ํ ์์๊ฐ ์์ต๋๋ค. Debug
๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํ์ญ์์ค. ๋๋ฅผ ์ํด ๊ทธ๊ฒ์ ๊ณ ์ณค๋ค.
๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ์๋ํ ํ์ ์๋ํ @stief510 ๊ฐ์ฌํฉ๋๋ค.
๋๋ ๊ทธ๋ฅ npm install react-native-cli<strong i="5">@latest</strong> -g
ํ๋ฉด react-native run-ios
๊ฐ ์๋ํฉ๋๋ค!
npm install react<strong i="5">@latest</strong> react-native@latest
, xcode 7.x๋ฅผ 8.0์ผ๋ก ์
๊ทธ๋ ์ด๋ํ ํ ์๋ํฉ๋๋ค.
react-native upgrade
๋์์ด ๋์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
์๋ฌด๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค. ios๋ฅผ macsierra๋ก, xcode๋ฅผ 8.0์ผ๋ก, ํ๋ก์ ํธ ๋น๋ ์์น๋ฅผ ๋ณ๊ฒฝํ๊ณ , ํฌํธ๋ฅผ ๋ซ๊ณ , react-native๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ฉด ์ต์ cli๊ฐ ์ค์น๋ฉ๋๋ค. ๊ธฐ๋ณธ ๋ฐ์ ๋ค์ดํฐ๋ธ ํํ ๋ฆฌ์ผ์์๋ ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค์ ๋น๋ ๋ช
๋ น์ด ์คํจํ์ต๋๋ค.
RCTVibration.m ๋ถ์
(1 ์คํจ)
build/Build/Products/Debug-iphonesimulator/AwesomeProject.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ช
๋ น ์คํจ: /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
์ด๋ค ์์ด๋์ด?
์ด๊ฒ์ ๋ค์ ์ฌ์ญ์์ค. ๋๋ ์ฌ์ ํ ์ด๊ฒ์ ๊ฒฝํํ๊ณ ์ด๊ฒ์ F8 ์ฑ๊ณผ Hacker ๋ด์ค ์์ ์ฑ ๋ชจ๋์์ ๋ฐ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ์ React Native๋ฅผ ์ฌ์ฉํ๊ธฐ๋ฅผ ๊ฐ์ ํ ์ํ์ง๋ง ์ด ๋ฒ๊ทธ๊ฐ ์ฐ๋ฆฌ๋ฅผ ๊ฐ๋ก๋ง๊ณ ์ด๋ฌํ ์ข ๋ฅ์ ๋ฌธ์ ๊ฐ ๋์ค์ ๋ฐ์ํ ๊ฒ์ ๋๋ ค์ํฉ๋๋ค.
๋ด ์ค์ :
๋ง์ฝ์ค ์์๋ผ 10.12
xcode: ๋ฒ์ 8.0(8A218a)
npm: 3.10.3
"๋ฐ์ ๋ค์ดํฐ๋ธ": "^0.20.0",
"react-native-gifted-listview": "0.0.12",
"react-native-scrollable-tab-view": "^0.3.8",
"๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒกํฐ ์์ด์ฝ": "^1.2.1",
"react-native-activity-view": "^0.2.5"
๋ค์ ๋ช
๋ น์ ๋ถ์๊ธฐ ๋ฌธ์ ๋ฅผ ์์ฑํ์ต๋๋ค.
RCTImageLoader.m ๋ถ์
(๋ถ์๊ธฐ ๋ฌธ์ ๊ฐ ์๋ ๋ช
๋ น 1๊ฐ)
๋ค์ ๋น๋ ๋ช
๋ น์ด ์คํจํ์ต๋๋ค.
CompileC /Users/xx/Downloads/HackerNews-React-Native-master/ios/build/Build/Intermediates/RCTWebSocket.build/Debug-iphonesimulator/RCTWebSocket.build/Objects-normal/x86_64/RCTSRWebSocket.o RCTSRWebSocket.m normal x86_64 Objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 ์คํจ)
build/Build/Products/Debug-iphonesimulator/HN Reader.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
/Users/xx/Downloads/HackerNews-React-Native-master/node_modules/promise/lib/done.js:10
์ค๋ฅ๋ฅผ ๋์ง๋ค;
^^
์ค๋ฅ: ๋ช
๋ น ์คํจ: /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/HN Reader.app/Info.plist
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
at checkExecSyncError (child_process.js:475:13)
at Object.execFileSync (child_process.js:495:13)
at _runIOS (runIOS.js:77:34)
at runIOS.js:24:5
at tryCallTwo (/Users/xx/Downloads/HackerNews-React-Native-master/node_modules/promise/lib/core.js:45:5)
at doResolve (/Users/xx/Downloads/HackerNews-React-Native-master/node_modules/promise/lib/core.js:200:13)
at new Promise (/Users/xx/Downloads/HackerNews-React-Native-master/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/Users/xx/Downloads/HackerNews-React-Native-master/node_modules/react-native/local-cli/cli.js:86:13)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)
@alanlavintman ๋ง์นจ๋ด ๋น์ ๊ณผ ๊ฐ์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฌ์ต๋๋ค. ๊ทธ ์์ ์์ ๋ฌธ์ ๋ AwesomeProject.app์ด ์๋ชป๋ ์์น์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ ์๊ฒ๋ NativeStarterKit.App์ด์์ต๋๋ค. ๋ค์ ์์น์ ์์์ต๋๋ค.
ios/build/Products/Debug-iphonesimulator/NativeStarterKit.app
๊ทธ๋์ ๋๋ ๊ทธ๊ฒ์ ๋ณต์ฌํ์ต๋๋ค :
ios/build/Build/Products/Debug-iphonesimulator/NativeStarterKit.app
@gavinxyang ์์ ๋ฌธ์ ๋๋ ์๋์ ๋ค์ฏ ๋ฒ์งธ ๊ธ๋จธ๋ฆฌ ๊ธฐํธ๊ฐ ๊ทํ์ ๋ฌธ์ ์ผ ์ ์์ต๋๋ค. "๋ช ๋ น ์คํจ" ์ค๋ฅ์ ๋ณด๊ณ ๋ ๊ฒฝ๋ก๊ฐ "HN Reader ์ฑ"์ ๋ํด ์ค์ ๋ก ์กด์ฌํ๋์ง ํ์ธํ์ญ์์ค. ๋์ ๋น๋/์ ํ ํด๋์ ์์ ์ ์์ต๋๋ค.
์ด ์์ ์ ๋๋ฌํ๊ธฐ ์ํด ๋ด๊ฐ ์ ์ ํ ๋ค๋ฅธ ํญ๋ชฉ์ด ์์ต๋๋ค.
ios/build/Products/debug-iphonesimulator/NativeStarterKitTests.xctest.DSYM
.DSYM์ ์ด๋์์ ์์ต๋๊น? ํด๋น ํ์ฅ์ผ๋ก ๊ณ์ ์ฌ์ปดํ์ผ๋ฉ๋๋ค. ํ์ฅ ํ๋ก๊ทธ๋จ์์ .DSYM์ ์ ๊ฑฐํ๋ฉด ํฐ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.์ด์ ์ฑ์์ JS ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง ์ ์ด๋ ๋ชจ๋ ๊ฒ์ด ๋น๋๋ฉ๋๋ค. "๋ช ๋ น ์คํจ"์ ํจ๊ป ๋์ด๋ ์ค๋ฅ๋ฅผ ๋ฐ๋ฅด๋ฉด ์ค์ ๋ก ์ค๋จ์ ์ผ์ผํค๋ ์ค๋ฅ์ ๋๋ค.
์ด๊ฒ์ด ์ด์ ์ ๋ชจ๋ ์์ ํ์๋ ์ฌ์ ํ ๋ฉ์ถ ์ผ๋ถ ์ฌ๋๋ค์๊ฒ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด๊ฒ์ ๋ํ XCode 8.0์ด ์ฃผ๋ณ์ ๋ณ๊ฒฝํ๊ณ ๋ฐ์ ๋ค์ดํฐ๋ธ๊ฐ ์ฌ์ ํ ํธํ๋์ง ์๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ์ ์์ต๋๋ค.
์ ์ฒด ์ธ๋ถ์ ๋ณด:
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 1.0.0
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.31.0
๋
ธ๋: 6.6.0
npm: 3.10.3
์์ค์ฝ๋: 8.0
๋งฅ OSX: ์ ์บํผํ 10.11.6
3-4์๊ฐ์ ๋๋ฒ๊น ํ์ ๋ง์นจ๋ด ์๋ํ๊ฒ ๋์์ต๋๋ค. ์ด์ ๋์๊ฐ์ NativeStarterKit์ผ๋ก ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ ๋ ์๋ ์ ์ฌํ ์ค๋ฅ๋ฅผ ๋์ก๋ ํํผ๋ก๋๋ก ๋ค์ ์๋ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค, dmitrye@!
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1) ์ฌ์ฉ์ ์ง์ ํ๋๊ทธ๋ฅผ ์ ๊ฑฐํ์ฌ RCTScrollView.o๋ฅผ ํ ๋จ๊ณ ๋ ์ปดํ์ผํ ์ ์์ต๋๋ค. (์์ง๋ ์คํจ)
2) _refreshControl์ refreshControl๋ก ๋ฐ๊พธ๊ณ ํ ์ค์ ์ฃผ์ ์ฒ๋ฆฌํฉ๋๋ค. https://github.com/facebook/react-native/issues/8472
๊ทธ๋ฌ๋ ๋๋ ์ฌ์ ํ ์ด ๋ฒ๊ทธ๋ฅผ ๋ค์ ์ด์ด์ผ ํ๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ์๋ํ๋ฉด ์ด๋ฌํ ์ผ์ด ์ผ์ด๋์๋ ์ ๋๋ฉฐ ์ ๋ง ์ข์ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ํ ๋ด ์์ ์ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ชจ๋ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋๋ค. react-native๊ฐ xcode 8.0์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด๋ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.
@dmitrye ์ ์๊ฒฌ์ ์ฝ์ ํ ๋ง์นจ๋ด ์ด๊ฒ์ด ์๋ํ์ต๋๋ค. ์ด ๋จ๊ณ๋ @gvlamadrid ์ ์ง์นจ์ ์ฝ๊ฐ์ ๋นํ๋ฆผ์ด ์์ต๋๋ค.
๋ด๊ฐ ๊ทธ๊ฒ์ ๊ณ ์น ๋ฐฉ๋ฒ.
run-ios ๋ช ๋ น์ด ์ค์ ๋ก ios/Build/Products์ ๋ฐฐ์น๋ ๋ ios/build/Build/Products์์ ์ฑ์ ์ฐพ๊ณ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ง๊ฐ์ด์ง๋ง ์๋ง๋ ์ด๊ฒ์ mac์ด ๋ช ๋ น์ค์์ ๊ฒฝ๋ก๋ฅผ ๋ค๋ฃฐ ๋ ๋์๋ฌธ์๋ฅผ ๋ฌด์ํ๋ ๋ฐฉ์๊ณผ ๊ด๋ จ์ด ์์๊น์? run-ios ๋ช ๋ น์ด ์ค๋จ๋ ์ ์์ต๋๋ค. ์๋๋ฉด ๊ธฐ๋ณธ ๊ฒฝ๋ก๊ฐ ์๋ชป๋ ๊ฒ์ผ ์๋ ์์ต๋๋ค.
์ ๋ XCode v8.0์ ์ฌ์ฉ ์ค์ ๋๋ค.
์ข
์์ฑ ์
๊ทธ๋ ์ด๋ ํ ์์
"react-native": "0.34.0"
๋ด pull ์์ฒญ ์์ ์์ ๋์์ต๋๋ค. ๊ทธ๊ฒ์ ํฌํํ์ญ์์ค.
Xcode 8 -> Xcode 7.3.1์ ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์ด ์๋ฃจ์ ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค - https://medium.com/@alberto.schiabel/react -native-on-xcode-beta-8-0-how-to-fix-initial-build-error-f0225c649850#.t0m08cocz
@CEOGavin ๋งํฌ๊ฐ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ง๋ง XCode์์ ์คํํด์ผ ํฉ๋๋ค. react-native run-ios
์ฌ์ ํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ v0.31์ ์คํํฉ๋๋ค. ์์ง ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
@ghost ์ ๋ ๊ฐ์ ๋ฌธ์ ์ธ๋ฐ ํด๊ฒฐํ์ จ๋์?
@ stief510 ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค. ๊ฐ์ฌ ํด์!
@CEOGavin ๋ด ๊ธฐ์ฌ๋ฅผ ๊ณต์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
react-native => 0.35.0 ์ ๊ทธ๋ ์ด๋๊ฐ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
react-native => 0.35.0 ์ ๊ทธ๋ ์ด๋๊ฐ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
๋ค๋น๊ฒ์ดํฐ์์ RCTWebSocket ํ๋ก์ ํธ๋ฅผ ๋ ๋ฒ ํด๋ฆญํ๊ณ ๋น๋ ์ค์ > ์ฌ์ฉ์ ์ ์ ์ปดํ์ผ๋ฌ ํ๋๊ทธ ์๋์ ์๋ ๊ฒ๊ณผ ๊ฐ์ ํ๋๊ทธ๋ฅผ ์ ๊ฑฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋งํฌ:https ://github.com/facebook/react-native/issues/10545
๋๋ ์ด ๋ฌธ์ ๋๊ตฌ๋ฅผ ์ป์๋ค. ๋
ธ๋ 6.8 ๋ฐ React Native 0.36.
react-natvie upgrade
๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
rnpm link
๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ํฌํจํ ํจํค์ง๋ฅผ ๋งํฌํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ์ง๋ง react native link
๋ฅผ ์ฌ์ฉํ ๋ ์ค๋ฅ๊ฐ ์์ต๋๋ค.
@simlegate rnpm์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ react-native์ ๋ณํฉ๋์์ต๋๋ค. ํ์ฌ ์ด์ rnpm ๋ฐ์ด๋๋ฆฌ์ ์กด์ฌํ๋ ๋งํฌ ๊ธฐ๋ฅ์ ์ถ์ธกํ๋ ๊ฒ์ xcode 8.0 ๋น๋ ๊ตฌ์กฐ์ ํธํ๋์ง ์์ต๋๋ค.
์ด ์ค๋ฅ๋ CFBundleDisplayName
์ CFBundleName
์ด์ธ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ์ ๋ ๋ฐ์ํ์ต๋๋ค. ์ด ๋ ๊ฐ์ ๋๊ธฐํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋๋ "๋ฐ์ ๋ค์ดํฐ๋ธ ์ ๊ทธ๋ ์ด๋"๋ฅผ ์คํํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๋ด ํ๋ก์ ํธ์ ํด๋ ๊ถํ์ 777๋ก ๋ณ๊ฒฝํ์ฌ ์๋ํ๋๋ก ํ์ต๋๋ค.
npm start -- --reset-cache
์ ํ ๋ค์ react-native run-ios
๊ฐ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
OSX์์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ํธ์คํธ ํ์ผ์ ๋ค์์ด ํฌํจ๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
127.0.0.1 ๋ก์ปฌ ํธ์คํธ
์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ๋ด ํธ์คํธ ํ์ผ์ ํด๋น ์ค์ด ์ฃผ์ ์ฒ๋ฆฌ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์์ ์ค๋ฅ์ ํจ๊ป ์๋ํ๋ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์์ ํ ์ค์ง๋์์ต๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ๋ฌด์จ ์ผ์ด ์์๋์ง ์กฐ์ฌํ์ต๋๋ค.
๋๋ Xcode ๋ฒ์ 7.3.1์ ๊ฐ์ง๊ณ ์์์ ์ ์ํ์ญ์์ค.
์ค๋ฅ๋ฅผ ๋ณด๋ฉด ๊ฒฝ๋ก์ ์ฑ์ด ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํ์ต๋๋ค.
Installing build/Build/Products/Debug-iphonesimulator/AwesomeProject.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
๊ทธ๋์ ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ ./ios/build/Build/Products/Debug-iphonesimulator/
ํด๋์ ์ด๋ฆ์ ๊ณต๋ฐฑ์ด ์๋ Awesome Project.app
์ฑ์ด ์์์ ์์์ต๋๋ค.
๋ด ์ ์์ ์ค๋ฅ๋ฅผ ์ธ๊ธํ๋ ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ ๋น๋ ์ ํ ๊ฒฝ๋ก๊ฐ ์คํฌ๋ฆฝํธ๊ฐ ๊ฒ์ํ๋ ๊ฒฝ๋ก์ ๋ค๋ฅธ์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค.
ํ๋ก์ ํธ/xcode ์ค์ ์ ๋ณ๊ฒฝํ๋ ๋์ react-native run-ios
์คํฌ๋ฆฝํธ์์ ๋ฌธ์ ์ ์์ธ์ ์ฐพ์ผ๋ ค๊ณ ํ์ต๋๋ค.
./node_modules/react-native/local-cli/runIOS/runIOS.js
์คํฌ๋ฆฝํธ๋ฅผ ์ด์๊ณ
๋๋ ์ด๊ฒ์ ์ฐพ์๋ค:
const appPath = `build/Build/Products/Debug-iphonesimulator/${inferredSchemeName}.app`;
inferredSchemeName
๋ณ์ ์ด๋ฆ์ด ์คํค๋ง ์ด๋ฆ์ ์คํ ํ์ผ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๊ณ ์์์ ์์ํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ด์ํฉ๋๋ค.
์๋ฅผ ๋ณด๋ฉด ๋ณ์ ์ด๊ธฐํ๋ฅผ ์ฐพ์์ต๋๋ค.
const inferredSchemeName = path.basename(xcodeProject.name, path.extname(xcodeProject.name));
๊ทธ๋ฐ ๋ค์ ๋๋ ๋ ์์ ์๊ฒ ์ปคํผ๋ฅผ ์ฌ์ผ ํ๋ค๊ณ ๋งํ๊ณ ๋๋ ๊ฐ์ ์ปคํผ๋ฅผ ์ป์๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ค์ํ๊ฑฐ๋ ๊ด๋ จ์ด ์์ผ๋ฏ๋ก ๋ค์ ์ด์ผ๊ธฐ๋ก ๋์๊ฐ๊ฒ ์ต๋๋ค.
๋ ์กฐ์ฌํ๊ณ xcodeProject.name์ด .xcodeproj
ํด๋์ ์ด๋ฆ์์ ๊ด์ฐฐํ์ต๋๋ค.
๋ฐ๋ผ์ ์ฑ์ ์์ ์ด๋ฆ์ ๋ด๊ฐ ์ค์ ํ ์คํ ํ์ผ ์ด๋ฆ์ด ์๋๋ผ ์๋ชป๋ ์ด๋ฆ์ ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ด๊ฐ ๋ฌด์์ ํ์ต๋๊น? ์๋์ค๋ฝ์ง ์์ ๊ฒ: ๊ณ์ฐ๋ ๊ฒฝ๋ก ๋์ ์ค์ ์ฑ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋๋ก runIOS.js
์คํฌ๋ฆฝํธ๋ฅผ ๋ณ๊ฒฝํ์ต๋๋ค.
const appPath = `build/Build/Products/Debug-iphonesimulator/Awesome Project.app`;
์, ์ข์ง๋ ์์ง๋ง ์ง๊ธ์ ์ด๊ฒ์ ์คํํ๊ณ ์ถ์์ต๋๋ค.
์ด๊ฒ์ ๋๊ตฐ๊ฐ๊ฐ ์ค์ ์์ ์ฌํญ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
RN 0.38์์ ์์ ๋์์ต๋๋ค. ์ฒดํฌ ์์
https://github.com/facebook/react-native/blob/master/local-cli/runIOS/runIOS.js#L100
2016๋ 11์ 30์ผ ์์์ผ ์คํ 7์ 7๋ถ์ Tavi [email protected] ์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ๋ฌด์จ ์ผ์ด ์์๋์ง ์กฐ์ฌํ์ต๋๋ค.
๋๋ Xcode ๋ฒ์ 7.3.1์ ๊ฐ์ง๊ณ ์์์ ์ ์ํ์ญ์์ค.
์ค๋ฅ๋ฅผ ๋ณด๋ฉด ๊ฒฝ๋ก์ ์ฑ์ด ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํ์ต๋๋ค.
build/Build/Products/Debug-iphonesimulator/AwesomeProject.app ์ค์น
๋ช ๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.๊ทธ๋์ ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ ํด๋์์ ๋ค์์ ํ์ธํ์ต๋๋ค.
./ios/build/Build/Products/Debug-iphonesimulator/ ์ฑ์ด ์์ต๋๋ค.
์ด๋ฆ์ ๊ณต๋ฐฑ์ด ์๋ Project.app.๋ด ์ ์์ ์ค๋ฅ๋ฅผ ์ธ๊ธํ๋ ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ
๋น๋ ์ ํ์ด ์คํฌ๋ฆฝํธ๊ฐ ๊ฒ์ํ๋ ํด๋์ ๋ค๋ฅธ ๊ฒฝ์ฐ.ํ๋ก์ ํธ/xcode ์ค์ ์ ๋ณ๊ฒฝํ๋ ๋์ ์์ค๋ฅผ ์ฐพ์ผ๋ ค๊ณ ํ์ต๋๋ค.
react-native run-ios ์คํฌ๋ฆฝํธ์ ๋ฌธ์ ์ ๋๋ค../node_modules/react-native/local-cli/runIOS/runIOS.js ์คํฌ๋ฆฝํธ๋ฅผ ์ด์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ๋๋ ์ด๊ฒ์ ์ฐพ์๋ค:
const ์ฑ ๊ฒฝ๋ก =
build/Build/Products/Debug-iphonesimulator/${inferredSchemeName}.app
;inferredSchemeName ๋ณ์ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ์ด๊ฒ์ ์ด์ํฉ๋๋ค.
์คํค๋ง ์ด๋ฆ์ ์คํ ํ์ผ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค.์๋ฅผ ๋ณด๋ฉด ๋ณ์ ์ด๊ธฐํ๋ฅผ ์ฐพ์์ต๋๋ค.
const inferredSchemeName = path.basename(xcodeProject.name, path.extname(xcodeProject.name));
๊ทธ๋ฐ ๋ค์ ๋๋ ๋ ์์ ์๊ฒ ์ปคํผ๋ฅผ ์ฌ์ผ ํ๋ค๊ณ ๋งํ๊ณ ๋๋ ๊ฐ์ ์ปคํผ๋ฅผ ์ป์๋ค. ํ์ง๋ง
์ด๊ฒ์ ์ค์ํ๊ฑฐ๋ ๊ด๋ จ์ด ์์ผ๋ฏ๋ก ๋ค์ ์ด์ผ๊ธฐ๋ก ๋์๊ฐ๊ฒ ์ต๋๋ค.๋ ์กฐ์ฌํ๊ณ xcodeProject.name์ด ์ด๋ฆ์์ ๊ด์ฐฐํ์ต๋๋ค.
.xcodeproj ํด๋.๋ฐ๋ผ์ ์ฑ์ ์์ ์ด๋ฆ์ ๋ด๊ฐ ์ค์ ํ ์คํ ํ์ผ ์ด๋ฆ์ด ์๋๋ฉฐ
๋์ ์๋ชป๋ ์ด๋ฆ์ ๋๋ค.์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ด๊ฐ ๋ฌด์์ ํ์ต๋๊น? ์๋์ค๋ฝ์ง ์์ ๊ฒ : ๋ด๊ฐ ๋ฐ๊ฟจ๋ค
runIOS.js ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐ๋ ๊ฒฝ๋ก ๋์ ์ค์ ์ฑ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค.const ์ฑ ๊ฒฝ๋ก =
build/Build/Products/Debug-iphonesimulator/Awesome Project.app
;์, ์ข์ง๋ ์์ง๋ง ์ง๊ธ์ ์ด๊ฒ์ ์คํํ๊ณ ์ถ์์ต๋๋ค.
์ด๊ฒ์ ๋๊ตฐ๊ฐ๊ฐ ์ค์ ์์ ์ฌํญ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/facebook/react-native/issues/7308#issuecomment-264037235 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAQi_zfCvgP-kgPAIpuEsGPRdHCnD_VTks5rDg-5gaJpZM4ITWVP
.
--
์คํฐ๋ธ ํฌํฐ,
๊ฐ๋ฐ์ @ Vydia.com
CFBundleIdentifier์ ๋ํ ๋์ผํ ์ค๋ฅ๋ฅผ ๋ณด์๊ณ ์์ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ํจ๊ณผ๊ฐ ์์์ต๋๋ค.
์ฝ์ ๋ก๊ทธ๋ฅผ ์กฐ๊ธ ์๋ก ์คํฌ๋กคํ๋ฉด RCTSRWebSocket์ ๋ํด ๋ถํํ๋ ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Libraries/RCTWebSocket์์ ์ฌ์ฉ์ ์ ์ ์ปดํ์ผ๋ฌ ํ๋๊ทธ๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ด ์์
์๋ฃจ์
์ผ๋ก ์๋ดํฉ๋๋ค.
https://github.com/facebook/react-native/issues/8584
๋ฐฉ๊ธ ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์ด๊ฒ์ด ์ผ์ด๋๊ธฐ ์์ํ์ต๋๋ค.
ํธ์ง: https://github.com/facebook/react-native/issues/11265 @3dd13 ์์ ์๋ฃจ์ ์ ์ฐพ์์ต๋๋ค. ์์ง ํ์ธํ์ง ์์๋ค๋ฉด ์ฌ๊ธฐ๋ฅผ ํ์ธํ์ธ์.
๋๋ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ํ๊ณ ์ฌ๊ธฐ์์ ๋ช ๊ฐ์ง ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์ฑ๊ณตํ์ง ๋ชปํ ์ค๋ ์์นจ๊น์ง ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ xcode์์ fbsdk ์ค์น ๋จ๊ณ๋ฅผ ๊ฑฐ์น ํ ๋ค์์ ๋ํ ์ค๋ณต ๋ฉ์๋ ์ ์ธ์ด ์์์ ์์์ต๋๋ค.
๋ด AppDelegate.m์ application didFinishLaunchingWithOptions
ํ์๋ฅผ application willFinishLaunchingWithOptions
๋ก ๋ณ๊ฒฝํ๊ณ ๋น๋์ ์ฑ๊ณตํ์ต๋๋ค. ๋ฏธ๋์ ๊ฒฐ๊ณผ๋? ๋ด๊ฐ ์๊ฒ ๋ ๊ฒ ๊ฐ์, *shrug
https://developer.apple.com/reference/uikit/uiapplicationdelegate
๋ฐ์ ๋ค์ดํฐ๋ธ CLI 1.3.0
๋ฐ์ ๋ค์ดํฐ๋ธ 0.39.1
npm 3.10.9
๋
ธ๋ 7.2.1
macOS ์์๋ผ 10.12.1
์์ค์ฝ๋: 7.2.1
react-native-cli: 2.0.0๊ณผ 1.3.0์ ๋ชจ๋ ์๋ํ์ต๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.39.2
OSX ์์ธ๋ฏธํฐ: 10.10.5
๋ค์ init
๋ฐ run-ios
๋จ๊ณ๋ฅผ ๋ฐ๋์ต๋๋ค.
์คํ ์์น์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๋ค๋ฅธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ๋ :CFBundleIdentifier
๋ฌธ์ ์
๋๋ค.
@dmitrye ๋ฐ @brianneisler ์๋ฃจ์ ์ ํ๋ฅญํ๊ณ ์ฒ ์ ํ์ง๋ง ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. @dmitrye {project}.app์ ํด๋น ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ์ง ์์์ต๋๋ค.
XCode์์ ์คํํ๋ ค๊ณ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค.
์์๋ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ @veacks ์ค๋ํซ๊ณผ ๊ฐ์ ์ค ์ฃผ์ ์ฒ๋ฆฌ: https://github.com/facebook/react-native/issues/7308#issuecomment -267643715
react-native upgrade
๋ ์ ์๊ฒ ํจ๊ณผ์ ์
๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ : 0.34.1
๋
ธ๋: v4.4.1
npm: 4.0.5
OSX Yosemite์ Xcode์์ ์ง์ case UIUserInterfaceIdiomCarPlay
์ ์ฃผ์์ ๋ฌ๋ฉด ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค.
๋๋ RN 39.2๋ก El Capitan์ ์์์ต๋๋ค.
์ด :CFBundleIdentifier
์์ธ๋ Xcode 7.1์์ Xcode 8.2๋ก ์
๊ทธ๋ ์ด๋ํ๋ฉด ์ฌ๋ผ์ก์ต๋๋ค.
์๋ฅผ ๋ค์ด ์์ง Sierra๋ก ์ ๊ทธ๋ ์ด๋ํ์ง ์์๊ธฐ ๋๋ฌธ์ Xcode 7.x๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋์ด๋ผ๋ฉด Xcode๋ฅผ ์ ๊ทธ๋ ์ด๋ํด ๋ณด์ญ์์ค!
@caster8013 ์ด ์๋ฃจ์ ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. X ์ฝ๋ 8.2.1.
๊ฐ๋ฅํ ์์ธ์ ์๋ชป๋ info.plist์ ๋๋ค. ์ด๋ก ์ธํด ์ฝ์ ์ ์๋ CFBundleIdentifier๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์ผ๋ถ ์ฌ๋๋ค์ด ๋ฐ์ ๋ค์ดํฐ๋ธ ์ ๊ทธ๋ ์ด๋ ํ์ plist๋ฅผ info.plist์ ์ ๋ฒ์ ์ผ๋ก ๊ต์ฒดํ๊ธฐ ๋๋ฌธ์ ์๋ํ๋ค๊ณ ๋งํ๋ ์ด์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ด๊ฐ ์ต๊ทผ์ ์ถ๊ฐํ info.plist์ ์ถ๊ฐ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ ํ์ ์ด๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค :)
๋ด ๋ฌธ์ ๋ ์ต์ ๋ฒ์ ์ ๋ ธ๋๊ฐ ์ค์น๋์ด ์์์๋ ๋ถ๊ตฌํ๊ณ ๋ ธ๋ ๋ฒ์ 0.10.0์ผ๋ก ์ค์ ๋ ๊ธฐ๋ณธ ๋ฒ์ ์ ๋ ธ๋๋ฅผ ์ฌ์ฉํ์ฌ react-native๊ฐ ์คํ๋๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋๋ ํ์ ๋๋ ์ ํฐ๋ฏธ๋์ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ฐ๋ผ ๊ธฐ๋ณธ ๋ ธ๋ ๋ฒ์ ์ 5.0์ผ๋ก ์ค์ ํ์ต๋๋ค(์ด๋ฏธ NVM๊ณผ ํจ๊ป ์ค์นํ๋๋ฐ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋์ง ์์์ ๋ฟ์ ๋๋ค).
nvm install node && nvm alias default node
npm install -g react-native-cli
npm install
react-native run-ios
๋๋์ด ๋ฌธ์ ๊ฐ ์์๋ค.
์ค์ ์์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
react-native upgrade
๋ $#$ project.pbxproj
PRODUCT_BUNDLE_IDENTIFIER
๋ฅผ ์ ๊ฑฐํฉ๋๋ค.Info.plist
์์ $(PRODUCT_BUNDLE_IDENTIFIER) ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด $(PRODUCT_BUNDLE_IDENTIFIER)
๋ ๋น์ด ์๊ณ ์ปดํ์ผ๋ ์ฑ์ Info.plist
์์ ์ ๊ฑฐ๋ฉ๋๋ค. ์ปดํ์ผ๋ ์ฑ์ Info.plist
์๋ CFBundleIdentifier
๊ฐ ์์ต๋๋ค !!!๊ทธ๋์ ":CFBundleIdentifier", Does Not Exist
๋ผ๊ณ ๋์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ์ ๋ง๋ก ์กด์ฌํ์ง ์์ต๋๋ค.
2๊ฐ์ง ์๋ฃจ์ :
Info.plist
์ CFBundleIdentifier
PRODUCT_BUNDLE_IDENTIFIER
com.xxx.app
์ฌ์ฉPRODUCT_BUNDLE_IDENTIFIER
๋ฅผ project.pbxproj
์ ๋ค์ ์ถ๊ฐํฉ๋๋ค. PRODUCT_BUNDLE_IDENTIFIER = com.xxx.app;
์ ๊ฐ์ต๋๋ค. ์ฑ์ Build Settings
> Product Bundle Identifier
์ ๋ฒ๋ค ID๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.๋๋์ด ๋ฌธ์ ๊ฐ ์์๊ณ @dragulceo ๊ฐ ๊ฐ์ฅ ์์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
์ด ์ค๋ฅ๋ฅผ ์์ ํ๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํ ์ฌ๋ฐ๋ฅธ ๊ฒฝ๋ก๊ฐ ์์ ์ ์์ต๋๋ค.
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
React Native๋ runIOS.js์์ run-ios ๋ช
๋ น์ ์ผ๋ถ๋ก ํ๋์ฝ๋ฉํ์ต๋๋ค.
build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app
๋ถํํ๋ Xcode๋ ๊ตฌ์ฑ๊ณผ Xcode ํ๋ก์ ํธ ๋๋ ์์
๊ณต๊ฐ์ ์ฌ์ฉํ๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋น๋ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. Xcode ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ build/Products
์
๋๋ค.
ํ๋ก๊ทธ๋๋จธ์๊ฒ CLI์์ ๋ ๋ง์ ์ ์ฐ์ฑ์ ์ ๊ณตํ๊ธฐ ์ํด ์ด pull request 11899 ๋ฅผ ์ ์ถํ์ต๋๋ค.
๋๋์ด ๋ฌธ์ ๊ฐ ์์๊ณ react-native run-ios๊ฐ "์๋ชป๋"ํ๋ก์ ํธ์์ ์ฝ๊ณ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ ๋ ํด๊ฒฐํ ์์์์ต๋๋ค. ์ ๊ฒฝ์ฐ์ ๋จ์๋ react-native run-ios๋ฅผ ์คํํ ๋ ์ถ๋ ฅ์ ์ฒซ ๋ฒ์งธ ์ค์ด์์ต๋๋ค.
Found Xcode workspace BlahBlahTests.xcworkspace
์ด๊ฒ์ ๋์ ์ฃผ์ BlahBlah.xcodeproj๊ฐ ์๋๋ผ ๋์ผํ ๋๋ ํ ๋ฆฌ์ ๋ฃ์ ํ ์คํธ ์์ ๊ณต๊ฐ์ด์์ต๋๋ค.
BlahBlahTests.xcworkspace๋ฅผ ios/ ๋๋ ํ ๋ฆฌ ๋ฐ์ผ๋ก ์ฎ๊ธฐ๊ณ react-native run-ios๋ฅผ ๋ค์ ์คํํ์๋ง์ ์ฌ๋ฐ๋ฅธ ํ๋ก์ ํธ๋ฅผ ์ฐพ๊ณ ๋ค์ ์ปดํ์ผ์ ์์ํ์ต๋๋ค.
@mankins ์์ผ๋ก ์ด pull request 11899 ๋ฅผ ์ฌ์ฉํ์ฌ CLI์์ Xcode ์ฑ ๊ฒฝ๋ก๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ค์ ๋ก ํ์ผ์ ์ด๋ํ์ง ์์๋ ๋ฉ๋๋ค.
npm start -- --reset-cache
๋๋ฅผ ์ํด ์ผํ์ต๋๋ค!
์์ ๋ชจ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ Xcode์์ ์์ํ ํ https://github.com/facebook/react-native/issues/11265#issuecomment -265663635์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์๋ํ ์ ์์์ต๋๋ค.
OSX 10.10.5 ๋ฐ xcode 7์ ์คํํ๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
OSX 10.12.2 ๋ฐ xcode 8๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์ง์ง ๋ฌธ์ ๋ ์ด๋ฌํ ์ค๋ฅ๋ฅผ ์ฐพ๋ ๋ฐ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋๋ค. ์ง์ง ๋ฌธ์ ๋ ์ด sh!๊ฐ ๋ฌด์์๋ก ๋ฐ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋๋ ๊ฐ์ ํ๋ก์ ํธ๋ฅผ 5๊ฐ์ ๋์ ๊ฐ๋ฐํด ์๋๋ฐ, ์ง๊ธ ๊ฐ์๊ธฐ ์๋ฌด๋ฐ ๋ณํ๋ ์์ด ๋น์ฐธํ๊ฒ ๋ง๊ฐ์ง๋๋ค.
๋๋ ์ด๊ฒ์ด ๋งค์ฐ ์์ ์ ์ด์ง ์์ ๋ฒ์ ์์ ์ดํดํฉ๋๋ค: 0.XY
ํ์ง๋ง ๊ทธ๋ฐ ๋ค์ ํ๋ณด๋ฅผ ์ค๋จํ์ญ์์ค. ์ ๋ฐ. ๋๋ ์์ฑ๋์ง ์์ ์ฐจ๋ฅผ ์ ๋ ํ์ง ์์ ๊ฒ์
๋๋ค.
์ถ์ : ์ฝ๊ฐ ๊ณผ๋ฏผ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ ์ต๋๋ค. ๋ํ ์ฝ๊ฐ ํผ๊ณคํฉ๋๋ค.
@sospedra ์ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
์ @charlle ๋ ์ฌ๊ธฐ์ ์์ธํ ์ ๋ณด๊ฐ ์์ต๋๋ค: https://github.com/facebook/react-native/issues/12080
๋ํ xCode ๋ฒ์ ์ ๋ฒํํ๊ณ ์ด์ ์๋ํ๋ค๋ ๊ฒ์ ๋ ธ์ถํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ฌธ์ ์์ด ์ฝ 2 ๊ฐ์ ๋์ ์ด์ xCode๋ฅผ ์๋ํ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ด์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ RN deps๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค. ์ฒซ๋ ๋ถํฐ 0.35๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ ์๋ฃจ์ ์ค xcode์์ xcodeproj ํ์ผ์ ์ด๊ณ ๊ฑฐ๊ธฐ์์ ์ฑ์ ์คํํ๋ ๊ฒ ์ธ์๋ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. ๋ถ๋ง์ค๋ฌ์ด!
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค. ์ด๊ฒ์ ๊ทธ๊ฒ์ ํด๊ฒฐํ์ต๋๋ค :
http://stackoverflow.com/questions/26396166/unable-to-run-app-in-simulator
OS X El Capitan v10.11.6์์
๋
ธ๋ --๋ฒ์ v7.2.1
npm --v 3.10.9
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 0.2.0
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.36.0
ํ์๊พผ --v 4.7.0
xcode: 8.0(8A218a)
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฐ-ios
* ๋น๋ ์คํจ *
๋ค์ ๋น๋ ๋ช ๋ น์ด ์คํจํ์ต๋๋ค.
CompileC /Volumes/Data/Win_project/mp-mobile-starter/ios/build/Build/Intermediates/RNFS.build/Debug-iphonesimulator/RNFS.build/Objects-normal/x86_64/RNFSManager.o RNFSManager.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 ์คํจ)
build/Build/Products/Debug-iphonesimulator/ReactNativeStarterKit.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ช
๋ น ์คํจ: /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/ReactNativeStarterKit.app/Info.plist
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
ํ์ง๋ง ์ด๊ธฐ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ๋น๋ํ๋ ๋์์๋ ์๋์ ๊ฐ์ด ๋์ํฉ๋๋ค.(์ด๋ ๋ค์ดํฐ๋ธ ๋ฒ์ 0.40.0์ ๋ฐ์ํฉ๋๋ค.)
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ์ด๊ธฐํ AwesomeProject
$ cd ์ด์ธํ๋ก์ ํธ
$ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฐ-ios
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๋ฒ์ "0.36.0"์์ ๋น๋๋ ๋ฐ์ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ, ์ ์ ์๊ฒ๋ ์๋ํ์ง ์์ต๋๊น?
@ HY523 ์ฌ๋ฐ๋ฅธ ํด๋์ '์ฑ'์ด ์์ต๋๋ค.
ios/build/Build/Products/
Debug-iphonesimulator/ReactNativeStarterKit.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
Failed to install the requested application
ReactNativeStarterKit.app
๋ ์ด๋ค ํด๋/๋๋ ํ ๋ฆฌ์ ์์ต๋๊น?
Xcode@7 ๋ณ๊ฒฝ. [email protected] ๋ก ํ๋ฉด ํจ๊ณผ์ ์ ๋๋ค! ๊ฐ์ฌ ํด์!
์ด ๋ฌธ์ ๊ฐ ์ข ๋ฃ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์์ ์ด๋ค ๊ฒ๋ ๋์์ด๋์ง ์์ต๋๋ค
:CFBundleIdentifier ์ค๋ฅ๋ Xcode ๋ฒ์ ์ด react-native๊ฐ ์ ๊ณตํ๋ ์ผ๋ถ ๊ธฐ๋ฅ(์: carplay)์ ์ง์ํ์ง ์์์ ์๋ฏธํฉ๋๋ค.
์ฐ์ , ์ต์ ๋ฒ์ ์ react-native๋ฅผ ์ฌ์ฉํ ๋ ์ต์ ๋ฒ์ ์ Xcode ๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ญ์์ค.
๋์งธ, yarn ์ ์ค์นํฉ๋๋ค. ๋ชจ๋ ๊ด๋ฆฌ๊ฐ ํฅ์๋ฉ๋๋ค.
node์ npm์ด ์ค์น๋์ด ์๋ค๋ฉด ์ ๊ฑฐํ๊ณ brew ๋ก ๋ค์ ์ค์นํ์ญ์์ค.
๋๋ ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค. ๋ชฉํ๋ Xcode ๋ฒ์ ์ ๋ง๋ ๋ฒ์ ์ ์ฐพ๋ ๊ฒ์ ๋๋ค.
์ด๋ด, ๊ทธ๋์ ์ฒ์์๋ react-native upgrade
๋ฅผ ์๋์ํค์ง ๋ชปํ์ง๋ง ๋ฐ์ ๋ค์ดํฐ๋ธ์ ๋ํด ์๋ชป๋ ๋ฒ์ ๋ฒํธ๊ฐ ๋์ด๋์ด ์๋ ๊ฒ์ ๋ณด๊ณ ์ค์ ๋ฒ์ ๋ฒํธ๋ก ๋ณ๊ฒฝํ ๋ค์ ๋น๋์ ์ฑ๊ณตํ์ต๋๋ค.
๋๋ฅผ ์ํด ๊ทธ๊ฒ์ ๋์์ด๋์์ต๋๋ค
๋ฐ์ ๋ค์ดํฐ๋ธ 0.41.2
react-native upgrade;
react-native link;
rm -rf ios/build;
react-native run-ios
[์ด์ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๊ฒผ์ต๋๋ค. airbnb์ react-native-maps๊ฐ ์๋ํ์ง ์์ต๋๋ค :( ]
์ด๊ฒ์ https://medium.com/@alberto.schiabel/react -native-on-xcode-beta-8-0-how-to-fix-initial-build-error-f0225c649850์์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
CFBundle์ ์ฐพ์ ์ ์์:
์์์ ์ธ๊ธํ ์๋ฃจ์
์ด ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ต๋๋ค.
์ข
์์ฑ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๊ณ ์ถ์ง ์์์ต๋๋ค.
์ด์ ๋ฒ์ ์ ๋ํ ์ข
์์ฑ์ด ์๋ ๊ฒฝ์ฐ ๋ค์ด๊ทธ๋ ์ด๋๋ฅผ ํ์ธํ์ญ์์ค.
๋จผ์ package.json .
๊ทธ๋ฐ ๋ค์ node_modules ํด๋๋ฅผ ์ญ์ ํ๊ณ yarn install ๋๋ npm install๋ก ๋ค์ ์ค์นํด ๋ณด์ธ์.
๋ค์์ผ๋ก ios ํด๋๋ก ์ด๋ํ์ฌ ํฌ๋ ์ค์น๋ก ์ด๋ํฉ๋๋ค.
react-native run-ios๋ฅผ ์คํํฉ๋๋ค. ์ค๋ฅ๊ฐ ๋ค์ ๋ํ๋๋ฉด ์ถ๊ฐ๋ก ํ์ธํ์ญ์์ค. ์๋ง๋ ์ถ๋ ฅ " * BUILD SUCCEEDED * "๋ฅผ ๋ณผ ์ ์์ ๊ฒ์
๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ ์ผํ ๋ฌธ์ ๋ ios ์๋ฎฌ๋ ์ดํฐ์ฉ ์ ํ๋ฆฌ์ผ์ด์
์ด๊ธฐํ์ ์คํจํ๋ค๋ ๊ฒ์
๋๋ค.
์๋ฎฌ๋ ์ดํฐ๋ก ์ด๋ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํฉ๋๋ค.
๋ด๊ฐ ํด์ผ๋ง ํ๋ ์ผ,
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค! :)
Xcode ๋ฒ ํ 8์ ๋ช ์ผ ์ ์ ์๋กญ๊ณ ๊นจ๋ํ ํ๋ก์ ํธ(์: react-native init projectname
์งํ)์์ ์๋์ ๋ฉ์ท์ต๋๋ค. 8.2.1๋ก ์
๊ทธ๋ ์ด๋ํ๋ฉด ๋ชจ๋ ๊ฒ์ด ๋ค์ ์๋ํฉ๋๋ค.
react-native => 0.35.0 ์ ๊ทธ๋ ์ด๋๊ฐ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
์ ๋ฐ์ดํธ๋ Xcode๋ก ํด๊ฒฐ๋จ โบโบโบโบ
๋ ๊ฐ์ Xcode๋ฅผ ์ค์นํ๋ ๊ฒฝ์ฐ Xcode๋ฅผ ์ญ์ ํ์ญ์์ค.
์ ๋ ๊ฐ๊ฐ 7.1๊ณผ 8.1์ธ ๋ ๊ฐ์ Xcode๋ฅผ ์ค์นํ์ผ๋ฉฐ ๋ฐํ์์ Xcode7.1 ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํฉ๋๋ค. Xcode7.1์ ์ ๊ฑฐํ ๋ค์ ์ฌ๋ฐ๋ฅด๊ฒ ์คํํฉ๋๋ค.
๋ด ํ๊ฒฝ:
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.42.3
๋
ธ๋: 7.3.0
npm: 3.10.10
AwesomeProject๊ฐ ์คํ๋์ง ์๊ณ ๋น๋์ ์คํจํ์ต๋๋ค.
* ๋น๋ ์คํจ *
๋ค์ ๋น๋ ๋ช
๋ น์ด ์คํจํ์ต๋๋ค.
PhaseScriptExecution ์์\ํจํค์ /Users/luca/workspace/pillsy/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/React.build/Script-006B79A01A781F38006873D1.sh
(1 ์คํจ)
build/Build/Products/Debug-iphonesimulator/pillsy.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ช
๋ น ์คํจ: /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/pillsy.app/Info.plist
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
My-Mac:pillsy luca$ /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier ios/build/Build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
ํ์ผ์ด ์กด์ฌํ์ง ์๊ณ ์์ฑ๋ฉ๋๋ค: ios/build/Build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
My-Mac:pillsy luca$ /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier ios/build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
ํ์ผ์ด ์กด์ฌํ์ง ์๊ณ ์์ฑ๋ฉ๋๋ค: ios/build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์๋ํ์ง ์์ต๋๋ค ...
@zhiyong888 Xcode ๋ฒ์ ?
์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
XCode: ๋ฒ์ 8.2.1(8C1002)
์๋ฌด๊ฒ๋ ๋๋ฅผ ์ํด ์ผํ์ง ์์ต๋๋ค
๋ฐ์ ๋ค์ดํฐ๋ธ 0.42 ๋ฐ Xcode 8.2.1 ์ฌ์ฉ
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 1.0.0
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.42.3
์์ค์ฝ๋ 8.2.1
์ ์๋ํฉ๋๋ค!
๊ฐ์์, ๋ฐ์ ๋ค์ดํฐ๋ธ, xcode๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
๋ด ์ด๋ฆ์ org.abc.xyz
์์ com.reimertz.something
๋ก ๋ณ๊ฒฝํ์ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๊ฒฝ๋ก๊ฐ ๊นจ์ง ๊ฒ ๊ฐ์ต๋๋ค.
@brianneisler ๋น์ ์ ์๋ฃจ์ ์ด ๋ด ์๋ช ์ ๊ตฌํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค ๐
์๋ค ์, ๋๋ ์ด๊ฒ์ ๋ํ ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ
์ ์ฐพ์์ ์๋ ์์ต๋๋ค. 2๋์ Mac ์ปดํจํฐ์์ ์ ๋ฅผ ์ํด ์ผํ์ต๋๋ค.
๋๋ํด์ผํ๋ค :
$ npm cache clean
$ sudo n 6.
$ sudo npm install -g [email protected]
$ sudo npm install -g npm<strong i="13">@next</strong>
$ sudo n 7.
$ cd ./your_project_folder/
$ rm -rf ./node_modules
๋ชจ๋ ๊ฒ์ ์
๋ฐ์ดํธํ ํ์ ํ์ฌ ํ๊ฒฝ:
๋
ธ๋ 7.8.0
NPM 4.4.4
๋๋ ์ฌ๋๋ค์ด ๋ด 2๊ฐ์ Mac์ ์ฌ๊ธฐ์ ๊ฒ์ํ ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค. ์์ ๋จ๊ณ๋ฅผ ๊ฑฐ์น ํ์์ผ ๋ด ํ๋ก์ ํธ๋ฅผ ํ ๋ฒ์ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๋ฐ๋ผ๊ฑด๋ ๊ทธ๊ฒ์ ๋น์ ์ ๋ฌธ์ ๋ ํด๊ฒฐํ ์ ์์ต๋๋ค!
์ด ๋ฐฉ๋ฒ์ ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค. ๋ ๋ฎ์ RN ๋ฒ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ํฉ๋๋ค.
" ๋ฐ์ ๋ค์ดํฐ๋ธ ์ด๊ธฐํ --version="0.38.0" AllTheBestApp "
๋ฐฉ๊ธ ์๋ํ์ต๋๋ค. Xcode๋ฅผ 8.2.1(El Capitan์์ ์ง์๋๋ ์ต์ ๋ฒ์ )์ผ๋ก ์ ๋ฐ์ดํธํด์ผ ํ๊ณ (์ค์!) ๋น๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํด์ผ ํ์ต๋๋ค. ์์ ์๋ฃจ์ ์ค ํ๋๋ฅผ ์๋ํ ๋ ๋ค์ ์คํํ๊ธฐ ์ ์ iOS ๋น๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
rm -rf ios/build/
react-native run-ios
FWIW, ํ๋ก์ ํธ ๊ตฌ์ฑํ๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ปดํ์ผ๋ฌ ํ๋๊ทธ๋ฅผ ์ ๊ฑฐํ ํ์๊ฐ ์์์ต๋๋ค. ๋ด ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ต์ xcode์ El Capitan์ด ์์ต๋๋ค.
Xcode ์คํ project/ios/project.xcodeproj๋ฅผ ์ฌ์ฉํ๊ณ react-native run-ios๋ฅผ ๋ค์ ํ ์คํธํ์ญ์์ค.
XCode๋ฅผ ์ต์ (8.3.2)์ผ๋ก ์ ๊ทธ๋ ์ด๋ !!
์์ฉ ํ๋ก๊ทธ๋จ์ ์ด๋ฆ์ ๋ฐ๊พผ ํ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ญ์์ค.
์ ํ ์ฌํญ:
ios
๋ฐ android
ํด๋๋ฅผ ์ญ์ ํฉ๋๋ค.ํ๋ค :
react-native upgrade
,react-native-git-upgrade
๋ฅผ ์คํํ์ญ์์ค.์ค์ ์ข ์์ฑ
"react": "16.0.0-alpha.6",
"react-native": "0.43.4",
์ด ๋ฌธ์ ๋ฅผ ๋ซ์์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. macOS Sierra(10.12.4)์์ Xcode 8.3.2(8E2002)๋ฅผ ์คํํ๊ณ ์์ต๋๋ค.
์ฌ์ฉ์ ์ ์ ๊ธฐ๋ณธ ํตํฉ ์ฝ๋ ๋๋ฌธ์ ๊ฐ๊ฐ์ ๋ณ๊ฒฝํ๊ธฐ ๋๋ฌธ์ ios/
๋ฐ android/
๋ฅผ ์ง์ฐ๋ ๊ฒ์ ์ ์ธํ๊ณ ์์์ ์ ์ํ ๋ชจ๋ ๋จ์ผ ํญ๋ชฉ์ ์๋ํ์ต๋๋ค. ๋ฒ๋ค ์๋ณ์๋ฅผ ๋ณ๊ฒฝํ์ต๋๋ค. ios/build
์(๋ฅผ) ์ญ์ ํ์ต๋๋ค. react-native upgrade
๋ฅผ ํ์ง๋ง ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ธํด ๋๋ถ๋ถ์ Android ํ์ผ์ ๋ณด์กดํ์ต๋๋ค. LLVM 8.1 ์ค์ ์์ ์ด ๋ ํ๋๊ทธ๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
Xcode๋ฅผ ์ด๊ณ CMD+R์ ํ๋ฉด ์ฑ์ ์คํํ ์ ์์ง๋ง react-native run-ios
๋ ๋ค์๊ณผ ๊ฐ์ด ์คํจํฉ๋๋ค.
** BUILD SUCCEEDED **
Installing build/Build/Products/Debug-iphonesimulator/TeamCoco.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/TeamCoco.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
์ ๊ธฐ์ ๋จธ๋ฆฌ์นด๋ฝ ๋ฝ๊ณ ...
ํธ์ง: ๋ ๋ง์ ์๊ฐ์ ๋๋ฒ๊น
ํ ํ ๋๋ ๋ง์ง๋ง์์ ๋ค์ ์ค์ด ๋ฌธ์ ์ ์์ธ์ด๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. react-native run-ios
์ด(๊ฐ) ์กด์ฌํ์ง ์๋ build/Build/Products
์ ๋ํด PlistBuddy๋ฅผ ์คํํ๋ ค๊ณ ํฉ๋๋ค. build/Products
๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด dir ๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@johndanek ์ ๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. launchPackager.command
์์ ํ์๊พผ์ ์ค๋ฅ๊ฐ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
Xcode version 8.2.1
"react": "16.0.0-alpha.6"
"react-native": "0.44.0"
ERROR watchman --no-pretty get-sockname returned with exit code=1, signal=null, stderr= 2017-05-03T14:02:20,731: [2095001600] while computing sockname: failed to create /usr/local/var/run/watchman/foobar-state: No such file or directory
Error: watchman --no-pretty get-sockname returned with exit code=1, signal=null, stderr= 2017-05-03T14:02:20,731: [2095001600] while computing sockname: failed to create /usr/local/var/run/watchman/foobar-state: No such file or directory
at ChildProcess.<anonymous> (/Users/foobar/Projects/Mobile/finantrack_mobile_client/node_modules/react-native/node_modules/jest-haste-map/node_modules/sane/node_modules/fb-watchman/index.js:198:18)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:194:7)
at maybeClose (internal/child_process.js:899:16)
at Socket.<anonymous> (internal/child_process.js:342:11)
at emitOne (events.js:96:13)
at Socket.emit (events.js:191:7)
at Pipe._handle.close [as _onclose] (net.js:504:12)
์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ ์ด์ ๋ ์คํ ์ค์ธ ํ๋ก์ ํธ๊ฐ 1๊ฐ ์๊ธฐ ๋๋ฌธ์ผ ์ ์์ต๋๋ค.
@johndanek PRODUCT_BUNDLE_IDENTIFIER๊ฐ ํ๋ก์ ํธ์ ์ค์ ๋์ด ์์ง ์์ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ CFBundleIdentifier๋ Info.plist์์ ๋น์ด ์์ต๋๋ค.
์ ๊ฒฝ์ฐ์๋ ์ฌ์ ํ ๋ค๋ฅธ ๋ฐ์ ๋ค์ดํฐ๋ธ ํ๋ก์ ํธ์์ ์คํ ์ค์ธ ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฆ, ํ๋ก์ ํธ A์ ํด๋์์ react-native run-ios
๋ฅผ ์ํํ๋ฉด ํด๋น ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์์๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ํจํค์ง ๊ด๋ฆฌ์ ์ฐฝ์ ๋ซ์ง ์๊ณ ํ๋ก์ ํธ B๋ก ์ ํํ ๋ค์ react-native run-ios
๋ก ํ๋ก์ ํธ B๋ฅผ ์์ํ๋ ค๊ณ ํ๋ฉด ํจํค์ง ๊ด๋ฆฌ์๊ฐ ์ฌ์ ํ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ "CFBundleIdentifier, Does Not Exist" ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ํ๋ก์ ํธ A์ ๊ด๋ จ๋
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค๋ฅธ ํ๋ก์ ํธ๋ก ์ ํํ๋ ๊ฒฝ์ฐ ํ์ฌ ํ๋ก์ ํธ์ ํจํค์ง ๊ด๋ฆฌ์ ์ฐฝ์ ๋ซ์์ผ ํฉ๋๋ค.
์ด๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค ... ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ ๋๊น์ง. ๋๋ฒ๊น ํ๊ณ ์ปดํจํฐ๋ฅผ ๋ค์ ์์ํ๋ ๋ฐ ๋ช ์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค!
๋ด node_modules๋ฅผ ๋ค์ ์ค์นํ๋ฉด ํธ๋ฆญ์ด ์ํ๋์์ต๋๋ค.
๋๋ฅผ ์ํด ์ผํ ๊ฒ :
์ด์
npm start
ํฐ๋ฏธ๋์์
๊ทธ๋ฐ ๋ค์ XCode์์ ๊ธฐ๋ณธ iOS ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ๊ฒ์ฒ๋ผ ํ๋ก์ ํธ๋ฅผ ์คํํฉ๋๋ค. ์๋ ์์ฑ ์ฝ๋์ ์ผ๋ถ ์ค๋ฅ๊ฐ ๋ํ๋ฉ๋๋ค(์ด์ํ๊ฐ์?).
๋๋ ์ค๋ฅ๋ฅผ ์ผ์ผํจ ์ฝ๋์ ์ฃผ์์ ๋ฌ์๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ ์ผ๋ก ์๋ํ์ต๋๋ค.
์ข์, ๊ทธ๋์ ๋ด๊ฐ ๊ทธ๊ฒ์ ํด๊ฒฐํ๊ธฐ ์ํด ํ ์ผ
ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์์ ์ด๊ฒ์ ์คํํ์ญ์์ค.
$ npm install -g react-native-git-upgrade
$ react-native-git-upgrade
์ด๊ฒ์ ๋๋ฅผ ์ํด ์ผํ ์ต์ React Native๋ก ํ๋ก์ ํธ๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
๊ฐ์ฌ ํด์
์ด๊ฒ๋ค์ ๋ง์ ๋์์ด ๋ฉ๋๋ค.
https://github.com/facebook/react-native/issues/7308#issuecomment -228638046
https://github.com/facebook/react-native/issues/7308#issuecomment -230198331
vi node_modules/react-native/local-cli/runIOS/runIOS.js
https://github.com/facebook/react-native/blob/master/local-cli/runIOS/runIOS.js#L18
์ด๋ค ๊ฒ์ด ์กด์ฌํ๋์ง ํ์ธํ๊ณ ์ฐพ์ผ์ญ์์ค.
ios/build/Products
ios/build/Build/Products
@zongwan ios/build/Products๊ฐ ์์ผ๋ฏ๋ก Custom์ Relative Path๋ก ์ค์ ํ๊ณ build/Products ๊ฐ์ ์ค์ ํฉ๋๋ค. ๊ทธ๊ฒ ๋น์ ์ ๊ฒฝ์ฐ ์๋์?
๊ทธ๋ฌ๋ ๋น์ ์ ๋งํฌ์์ ๋๋ ๋ณธ๋ค
const getBuildPath = function(configuration = 'Debug', appName, isDevice) {
return `build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app`;
};
๊ทธ๋์ ๋ญ๊ฐ ๊ทธ๋ฆฌ์?
@gigeos
์, ๊ทธ๋์ ํ๋ก์ ํธ ์ค์ ์์ ๋ณต์ํฉ๋๋ค.
Custom to Workspace
=>>> Xcode Default
๋๋์ด ios/build/Build/Products
๋ด ์ค์, ๋ด ๋ง์ง๋ง ๋๊ธ์ ์๋ชป๋ ์ค.
์์ => https://github.com/facebook/react-native/blob/master/local-cli/runIOS/runIOS.js#L18
ํด๊ฒฐ! ์ ๋ณด๋ฅผ ์ํด:
$(PRODUCT_BUNDLE_IDENTIFIER)
๋ฅผ ์ค์ ํ์ต๋๋ค.react-native run-ios
๋ช
๋ น์ ์คํํ์ญ์์ค!8081
ํฌํธ์์ ์คํ๋๋ McAffee Agent์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์ ๊ฑฐ ๋ฐ ์ฌ๋ถํ
์ผ๋ก ํด๊ฒฐํ์ต๋๋ค.
https://community.mcafee.com/thread/94244?start=0&tstart=0
์ต์ ๋ฒ์ ์ Xcode๋ฅผ ์ค์นํ์ง๋ง ์ด๋ค ์ด์ ๋ก ์ธํด ์ฌ์ ํ ์ด์ ๋ฒ์ ๋ ์์์ต๋๋ค. ์ฌ์ฉํ ๋ฒ์ ์ ์ง์ ํ๋ ๊ตฌ์ฑ ํ์ผ์ด ์ด๋๊ฐ์ ์์ต๋๋ค. xcode-select --switch "/Applications/Xcode.app/Contents/Developer/"
...๋ฅผ ์คํํ์ฌ ์
๋ฐ์ดํธํด์ผ ํ๊ณ ๋ง์ง๋ง์ผ๋ก ๋น๋ ์ฑ๊ณต
๋น๋ ์ค์ ๋ด์์ ์ ํ์ ๋ณ๊ฒฝํ๋ฉด ๋ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฐพ๊ณ ์๋ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์ ๋จ๊ณ๊ฐ ๋์์ด ๋ฉ๋๋ค.
๊ฐ์ ๋ฌธ์ . ์์ ๋ชจ๋ ์๋ฃจ์ ์ ์ฌ์ฉํ์ง๋ง work.wtf๋ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
VinceXie๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.
๊ทธ๋ฆฌ๊ณ Xcode์์ ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ๊ฒ์ ์ข์ง๋ง "run-ios"๋ก ์คํํ ์ ์์ต๋๋ค.
๋ชจ๋ ๋ต๋ณ์ ์๋ํ์ญ์์ค.
๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋์ผํ ์กฐ๊ฑด์ ์๋ค๋ฉด ์๋ํด ๋ณผ ์ ์์ต๋๋ค.
๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(
๋๋ ์ด๊ธฐํ(์ฌ์ฉ
๋ชจ๋ ์ ์ฉํ *.ios.js ํ์ผ์ ๋ค๋ฅธ ๊ณณ์์ ๋ณต์ ํ ํ๋ก์ ํธ์์ ์ด ์ ํ๋ก์ ํธ๋ก ๋ณต์ฌํฉ๋๋ค.
TADA, ์ด๊ฒ์ ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค.
์์, ๋๋ ๋๋ฌด ์ค๋ซ๋์ ๊ตฌ๋ฉ์ด๋ฅผ ์ค๋ฅด๊ณ ์์๊ณ ๋ง์ ์์ธ ์ฒ๋ฆฌ ์ฌ๋ก๋ฅผ ์์งํ์ต๋๋ค. ์ฌ๋ํ์ง ์์ ์ง์ณค์ด~~~
์ฌ์ค ์กด์ฌํ์ง ์๋ ":CFBundleIdentifier"๋ก ์ธํด ๋ง์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.๊ถ๊ทน์ ์ธ ์๋ฃจ์
์ ์ฐธ์กฐํ์ญ์์ค
https://hacpai.com/article/1497235254333 iOS -> 'React/RCTBundleURLProvider.h' ํ์ผ์ ์ฐพ์ ์ ์์
์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ฐพ์์ต๋๋ค. ํ๋ก์ ํธ ๊ฒฝ๋ก์ ๊ณต๊ฐ์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค!
@florismettey ๋น์ ์ ์๋ฃจ์ ์ด ์ ๋ฅผ ๊ตฌํฉ๋๋ค!!! ์ ๊ณต๋ ์๋ฃจ์ ์ ๋ชจ๋ ์๋ํ์ง๋ง ์ด ๋ฐฉ๋ฒ๋ง ์๋ํฉ๋๋ค. ์ ๋ง ๊ณ ๋ง์!
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง
Installing build/Build/Products/Debug-iphonesimulator/AwesomeProject.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/AwesomeProject.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
package.json
์ React ๋ฐ React Native๋ฅผ ๋ค์ ๋ฒ์ ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋:// package.json
"dependencies": {
"react": "16.0.0-alpha.6",
"react-native": "0.44.0"
}
์ด ์๋ฃจ์ ์ ์ฌ๊ธฐ์์ ์ฐพ์์ต๋๋ค .
watchman watch-del-all; npm start -- --reset-cache
์คํ ;์ด ๋ ๋จ๊ณ ํ์ ๋ฌธ์ ์์ด react-native run-ios
๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๋ด ๊ธ๋ก๋ฒ react-native ๋ฒ์ ์ 0.44.0
์ด๊ณ react-native-cli ๋ฒ์ ์ 2.0.1
์
๋๋ค.
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
react-native init์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
react-native init ProjectName
๋ก ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐํํ์ง ๋ง์ญ์์ค.
๋ง์ง๋ง์ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ์ธ์๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด:
react-native init ProjectName --version 0.44.2
@renguochao ์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
@renguochao ์ ์๋ฃจ์ ๋ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
๋ค์์ ์ํํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
1) xcode๋ฅผ 7.3.1๋ก ๋ค์ด๊ทธ๋ ์ด๋
2) ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ 0.38.0์ผ๋ก ์
๊ทธ๋ ์ด๋
3) cd ios/ ๋ฐ pod install ๋ค์ ์คํ
4) react-native run-ios ์คํ
/User/yourAccount ๊ฒฝ๋ก์์ .rncache ํ์ผ์ ์ ๊ฑฐํ๊ณ react-native run-ios๋ฅผ ๋ค์ ์คํํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
@renguochao ์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
๋์๊ฒ ์ฌ์ ํ ๋ฌธ์ (๋ชจ๋ ๊ฒ์ ์๋ >_<)
@renguochao ์๋ฃจ์
์ด ์ ์๊ฒ ํจ๊ณผ์ ์์ ํ์ธํ์ต๋๋ค.
react-native init ProjectName --version 0.44.2
@renguochao ์ ์๋ฃจ์
์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ ์ด๊ธฐํ ํ๋ก์ ํธ ์ด๋ฆ --๋ฒ์ 0.44.2
@renguochao ์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ต๋๋ค
๋ ๋ฎ์ ๋ฒ์ ์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์ง๋ง cocoapods์ ๊ด๋ จ๋ ๋ฌธ์ ๋ก ์ธํด 0.45.0 ์ด์์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค. ์ง๊ธ ์ผ์ข ์ ๋ซ์ ๊ฑธ๋ ธ์ต๋๋ค :/
ํ์ผ ๊ฒฝ๋ก๋ ์ ๋์ ์ด์ง ์๊ณ ์์ ๊ณต๊ฐ์ ์๋์ ์ด๋ผ๊ณ Xcode์ ์๋ ค์ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
Xcode์์:
ํ์ผ > ํ๋ก์ ํธ ์ค์ (๋๋ ์์
๊ณต๊ฐ ์ค์ )
๊ณ ๊ธ์
์ฌ์ฉ์ ์ ์ > ์์
๊ณต๊ฐ ๊ธฐ์ค
๋น๋/์ ํ์ ๋น๋/๋น๋/์ ํ์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
Build/Intermediates๋ฅผ build/Build/Intermediates๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
๋๋ฅผ ์ํด ์ง๊ธ ์๋ํฉ๋๋ค.
์ด์ํ๊ฒ ๋ ๋๋ฅผ ์ํ ์๋ฃจ์ ์ ํ๋ก์ ํธ ๊ฒฝ๋ก ์๋์ ๊ณต๊ฐ์ด ์๋ ํด๋๊ฐ ์์์ต๋๋ค. ๐ ํ์ด์ค๋ถ์ฉ.
RN ๋ฒ์ ์ 0.44.2๋ก ์ง์ ํ๋ฉด run-ios๊ฐ ์ ์์ ์ผ๋ก ์๋ํ์ง๋ง ์ต์ ๋ฒ์ ์ด ์๋ํ์ง ์๋ ์ด์ ๋ฅผ ์ฌ์ ํ ์ ์ ์์ต๋๋ค. @renguochao ๊ฐ์ฌํฉ๋๋ค
node_modules/react-native/React/Views/RCTScrollView.m์ ์ด๊ณ 361ํ์์ ๋ค์์ผ๋ก ๋์ฒดํ์ฌ ์๋ํ๊ฒ ํ ์ ์์์ต๋๋ค.
- (void)setRefreshControl:(UIRefreshControl *)refreshControl
{
if (refreshControl) {
//[UIRefreshControl removeFromSuperview];
}
refreshControl = refreshControl;
[self addSubview:refreshControl];
}
์ด๊ฒ์ https://github.com/facebook/react-native/issues/8472 ์์ ์์ ๋ ๋ฒ๊ทธ์ ๋๋ค.
์๋ง๋ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ฉด ๋ฌธ์ ๋ ํด๊ฒฐ๋ ๊ฒ์ ๋๋ค.
๋๋ ๋ํ์ด ๋ฌธ์ ๋ฅผ ๋ง๋ฌ์ต๋๋ค. ๋ด ์ง๋ฌธ์ ํ์ผ์ด ์์ ํ ๋ค์ด๋ก๋๋์ง ์์๋ค๋ ๊ฒ์
๋๋ค boost_1_63_0.tar.gz .
ํฐ๋ฏธ๋์์ cd .rncache
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
boost_1_63_0.tar.gz๊ฐ B์ ๋ถ๊ณผํ๋ค๋ฉด ์ด ํ์ผ์ ๋ค์ด๋ก๋ํ์ฌ ์ง์ ๊ตฌ์
ํ์ฌ ๊ต์ฒดํด์ผ ํฉ๋๋ค. ์ด์ ๋ด ํ์ผ์ boost_1_63_0.tar.gz๋ 78M์
๋๋ค.
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ค์ ์ ๋ฐ๋ฅด๋ฉด iOS ์ Android ๋ชจ๋์์ ์ค์ ๋ก ์ค๋ฅ ์์ด ์ปดํ์ผ๋ฉ๋๋ค.
@renguochao ์ ์๋ฃจ์
์ ๋ฐ๋ผ ๋ค์ ์ด๊ธฐํ๋ ํ๋ก์ ํธ ํด๋๋ฅผ ๋ ๋ ค๋ฒ๋ ธ์ต๋๋ค. react-native init ProjectName --version 0.44.2
์ง๊ธ ์๋ํฉ๋๋ค.
๋๋ ์ต๊ทผ์ ๋๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช์์ต๋๋ค. ๋๋ ํ๋ก์ ํธ ๋ด๋ถ์ xcode ๊ฒฝ๋ก ๋ณ๊ฒฝ, ํ์๊พผ ์ง์ฐ๊ธฐ ๋ฑ์ ํฌํจํ์ฌ ๊ฐ๋ฅํ ๋ชจ๋ ์กฐ์ธ์ ๋ฐ๋์ต๋๋ค. ๋ด OS๋ El Capitan์ด์๊ณ Xcode๋ ์๋ 7.1์ด์์ต๋๋ค. xcode๋ฅผ 7.31๋ก ์ ๊ทธ๋ ์ด๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ด ์ธ์คํด์ค๋ฅผ MacOS Sierra๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ xcode 8.3.2๋ฅผ ์ค์นํ์ต๋๋ค. ํ๋ก์ ํธ ํ์ผ์ ๋ณ๊ฒฝํ์ง ์๊ณ ์ด์ ์ ์์ ํ๋ ๋์ผํ ํ๋ก์ ํธ๊ฐ ์ด์ ๋ฌธ์ ์์ด ์คํ๋๊ณ ์์ต๋๋ค. ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
์
๋ฐ์ดํธ
Xcode ์
๋ฐ์ดํธ์๋ ๋ถ๊ตฌํ๊ณ Android ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ด ์ ์ฅ์๋ฅผ ๋ณต์ ํ ๋ ๋ฌธ์ ๋ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค.
์๋ง๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ๊ฒ์ด์ง๋ง ์ข์ ์๋ฃจ์ ์ ์๋๋๋ค(ํ๋๋ง ์๋ํ๊ณ ํ ์คํธํ ์ ์์).
@renguochao ์๋ฃจ์
์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ์ ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐํํ๋ ๊ฒฝ์ฐ react-native init ProjectName --version 0.44.0
๋ฅผ ์ฌ์ฉํ์ญ์์ค. ํ์ง๋ง ์ด ๋ฌธ์ ๋ ๋ค๋ฅธ ์ฌ๋์ ํ๋ก์ ํธ๋ฅผ ๋ณต์ ํ ๋ ๋ฐ์ํ์ผ๋ฉฐ ํฐ๋ฏธ๋์ 'npm install' ๋ช
๋ น์ ์
๋ ฅํ๊ธฐ ์ ์ package.json ํ์ผ์์ react-native ๋ฒ์ ์ 0.44.0์ผ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
@Vanessa219 ๋ ์ฌ์ ํ ๋ด ๋ํฌ์ด๊ณ react-native/third-part๋ฅผ ์ง์ ์ญ์ ํ๊ณ ๋ถํ ํ์ผ์ ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์๋์ผ๋ก ํ์ผ์ rnCache์ ๋ฃ์ ๋ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ํ๋ฅญํฉ๋๋ค!
@Vanessa219 ๊ฐ์ฌํฉ๋๋ค!๋น์ ์ ์๋ฃจ์ ์ธ์๋ ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค!
์ฌ๊ธฐ์ ๊ฐ์ ์ค๋ฅ๊ฐ ์์ง๋ง ์ฌ๊ธฐ์ ์ ์๋ ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ง ํด๊ฒฐ๋์ง ์์์ต๋๋ค!
Xcode ๋ฒ์ 8.3.3(8E3004b)
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.45.1
``` * ๋น๋ ์คํจ *
๋ค์ ๋น๋ ๋ช ๋ น์ด ์คํจํ์ต๋๋ค.
CompileC /Users/DiMacBook/Documents/DEV/CursoReact/teste/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/third-party.build/Objects-normal/x86_64/Bits.o /Users/DiMacBook/Documents/DEV/CursoReact/teste/node_modules/react-native/third-party/folly-2016.09.26.00/folly/Bits.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 ์คํจ)
build/Build/Products/Debug-iphonesimulator/teste.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ช
๋ น ์คํจ: /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/teste.app/Info.plist
์ธ์: ํญ๋ชฉ ":CFBundleIdentifier", ์กด์ฌํ์ง ์์```
์ด ๋ธ๋ก๊ทธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์๊ฒ ์ ํฉํฉ๋๋ค: CFBundleIdentifier", ์กด์ฌํ์ง ์์
@whoyoung ๊ทธ๋ผ ์์ด๋ฒ์ญ์ด ์๋์ ๐
@cuiyueshuai ๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋๊น์ง ๋ฐ๋ผ๊ฐ์ ์๊ฒ ๋์์ต๋๋ค ๐
@wy1009 ์ค๊ตญ์ด๋ฅผ ์ฝ์ ์ ์์ด์ ๋์์ด ๋์ด์ ๊ธฐ์ฉ๋๋ค๐
@dey-dey๋ React Native ์๋ฆฌ์ฆ [์์ธ]๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค. - iOS
@dey-dey ์์ฝํ์๋ฉด, react-native ๋ฒ์ 0.45.0์ผ๋ก ์ RN ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ react-native ๋ฒ์ 0.45.0 ์ด์ ์๋ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ react-native ๋ฒ์ ์ ๋ฒ์ 0.44.3์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๋์ react-native์ ์ข
์์ฑ์ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค. react-native์ ๋ฒ์ ์ 16.0.0-alpha.6์
๋๋ค.
๋จ๊ณ:
"react": "16.0.0-alpha.12",
"react-native": "0.45.0"
~์ ํจ๊ป
"react": "16.0.0-alpha.6",
"react-native": "0.44.3"
@Vanessa219 @whoyoung ๋์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ์ ์ค๊ตญ์ด๋ ์์ง ๋ฏธ์ํฉ๋๋ค
๋ฐฉ๊ธ cli๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์์ฑํ์ผ๋ฉฐ ์ฌ๊ธฐ์๋ ์๋ฃจ์ ์ด ์๋ํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ฒ์ ์ผ๋ก ๋๋๋ ค์ผ ํ์ต๋๋ค.
{
"react": "15.3.2",
"react-native": "0.37.0"
}
react-native init ProjectName --version 0.44.2
๋ ์ ์๊ฒ ํจ๊ณผ์ ์
๋๋ค!
@๋ฐ์ด๋ฐ์ด
@udoless ์ฌํ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค!
react-native init ProjectName --version 0.44.2
์ด ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค
์ด ๋ฌธ์ ์ ๊ฒ์๋ ๊ฑฐ์ ๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ ํ ์ด ์๋ฃจ์ ์ด ์ ์์ ์ ์ ์ฉ๋ฉ๋๋ค!
react-native init ProjectName --version 0.44.2
๋ด ํ๊ฒฝ:
- node v6.9.5
- npm 3.10.10
- xcode 8.3.3
- macOS Sierra 10.12.5
Google์์ https://github.com/GeekyAnts/NativeBase/issues/936 ์ ์ฐพ์ ๋๊น์ง ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๊ทผ๋ณธ ์์ธ์ ์คํจํ ๋ค๋ฅธ ๋ช ๋ น์ผ๋ก ์ธํด ๋น๋๊ฐ ์ฑ๊ณตํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ cfbundleidentifier ์ค๋ฅ ๋ฉ์์ง๋ ๊ทผ๋ณธ ์์ธ์ด ์๋๋ผ ์ฆ์์ผ ๋ฟ์ ๋๋ค. ์ฌ๊ธฐ ๋ง์ ์ฌ๋๋ค์ด ๋น๋ ์คํจ๋ฅผ ์ด๋ํ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๊ณ ๋ง์ง๋ง ์ค๋ฅ ๋ฉ์์ง๊ฐ ๊ทผ๋ณธ ์์ธ์ด๋ผ๊ณ ์๊ฐํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ถ๋ ฅ์ ๋ ๋ณด๋ฉด ๋์์ด ๋ ๊น์? ๋น๋๊ฐ ์คํจํ์ฌ ์ด ๋ง์ง๋ง ๋ฉ์์ง๊ฐ ํ์๋๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ ์ ์์ต๋๋ค.
@novalagung ๊ณผ Gringox๊ฐ ๋ง์ต๋๋ค.
react-native init ProjectName --version 0.44.2
์ค๋ ๋๋ฅผ ์ํด ์ผํฉ๋๋ค: 2017.7.6
๋๋ 0.45, 0.46์ ์๋ํ์ง๋ง ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํฌํธ 8081
์ ๋ํ ๋ชจ๋ ์ธ๊ธ์ ๋ํด node_modules
๋๋ ํ ๋ฆฌ๋ฅผ ๊ฒ์ํ๊ณ ๋ค๋ฅธ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค. ๋ด ๋ง์, ๋ชจ๋ ํ์ผ. ๊ทธ๋ฐ ๋ค์ ๋ฃจํธ์์ .babelrc
react-native run-ios
๋ฅผ ๋ค์ ์คํํ๋๋ฐ ๋ชจ๋ ๊ฒ์ด ๋ง์นจ๋ด ์๋ํ์ต๋๋ค. ๋ง๋ ์ ๋๋ ์๋ฆฌ์๋ค. ํด๊ฒฐํ๋ ๋ฐ 4์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค... ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ์ด๋ฆฌ์์ McAfee๊ฐ 8081
๋ฅผ ์ฌ์ฉํ๊ณ Mac์์ McAfee๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด ์ํ์ ์ด๋ฆฌ์์ ํ๋์ด ํ์ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฉ์ฒญํด.
์ด ์ค๋ ๋์์ ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค.
์๋ RN v0.44.0, 0.44.1, 0.44.2, 0.44.3 ๋ฐ 0.45.0
React v16.0.0-alpha.6 ๋ฐ 16.0.0-alpha.12 ์๋
๋
ธ๋ v7.10.0
ํธ์ง: RN 0.45.1๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ React๋ฅผ ์๋ ๋ฒ์ ์ผ๋ก ๋๋๋ฆฌ๋ ๊ฒ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค(์ ๊ธ ํ์ผ๊ณผ ์ผ์นํ๋์ง ํ์ธ).
React ๊ธฐ๋ณธ ๋ฒ์ ์ Xcode, React ๋ฐ React ๊ธฐ๋ณธ ๋ฒ์ ์ ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. Xcode๋ฅผ 7.3์์ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ๋ค์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ๋ ๋ฐ๊ฒฌํ์ต๋๋ค. 7.3์ ์ ์๋ํฉ๋๋ค. 15.3.2 React ๋ฐ 0.37 ๋ค์ดํฐ๋ธ. Xcode 8.1์ ์ด๋ฒ ์ฃผ ์์์ผ ํ์ฌ ์ต์ cli์์ ์ ์๋ํฉ๋๋ค. ๋์ค์ ์ฐธ์กฐํ ์ ์๋๋ก Xcode๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ๊ณ cli๋ฅผ ์ฌ์ฉํ์ฌ ํธํ๋๋ ๋ฒ์ ์ ํ์ธํ์ญ์์ค.
์ด ๋ฌธ์ ๊ฐ ์์๊ณ Xcode ๋น๋๋ฅผ ์คํํ๋ ค๊ณ ํ์ต๋๋ค. https://github.com/facebook/react-native/issues/8472 ๋ก ์ธํด ๋น๋๊ฐ ์คํจํ์์ ์์์ต๋๋ค. ๊ณ ์ณค์ด, ๋ด ๋ฌธ์ ๋ฅผ ๊ณ ์ณค์ด
ํ์ฌ๋ก์๋ 0.44๋ฅผ ์ฌ์ฉํ๋ 0.46.1์ ์ฌ์ ํ ์ด ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฏฟ์ ์ ์์ง๋ง ๊ณง ์ต์ ๋ฆด๋ฆฌ์ค์์ ์์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค...
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
์ด ๋ฌธ์ ์ ํต์ฌ์ ...build/Build/Products/Debug-iphonesimulator/*.app
์
๋๋ค.
๋ถ๋ช
ํ run-ios
๋ช
๋ น์ ์ปดํ์ผ๋ฌ๊ฐ Debug
build/Build/Products
๋ก ์ฑ์ ๋ด๋ณด๋ด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๋ค์์ ํ์ธํด์ผ ํฉ๋๋ค.
๋น๋ ์์น๋ build/Build/Products
, XCode Default
, Build/Products
์
๋๋ค.
์ด ์ค์ ์ XCode์ File
> Project Settings
> Advanced
์์ ์ฐพ์ ์ ์์ต๋๋ค.
๋น๋ ๊ตฌ์ฑ์ Debug
Release
๊ฐ ์๋๋ผ Debug์
๋๋ค.
์ด ์ค์ ์ XCode์ Product
> Scheme
> Edit Scheme
> Run
์์ ์ฐพ์ ์ ์์ต๋๋ค.
๊ตฌ์ฑ์ด Release
์ด๋ฉด ์ปดํ์ผ๋ฌ๋ ์ฑ์ ...build/Build/Products/Release-iphonesimulator/*.app
๋ก ๋ด๋ณด๋ด๊ณ run-ios
๋ ์ฌ์ ํ ์ฑ์ ์ฐพ์ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ 0.44.0์ 0.46.1, Debug-iphonesimulator์ ๋์ผํ ๋น๋ ์์น๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ฌธ์ ๊ฐ ์์ต๋๋ค...
๋ด XCode๊ฐ ์ ๋ฐ์ดํธ๋ ํ ์ด ๋ฌธ์ ๋ฅผ ๋ง๋ฌ์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ ๋ค์ดํฐ๋ธ๊ฐ ์๋ XCode์ธ ๊ฒ์ผ๋ก ์๊ฐํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
๋ด๊ฐ ๋ง๋์ง ์์ ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ์์ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ์์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ข ์์ฑ์ ๋ค์ด๋ก๋ํ์ญ์์ค.
์ด ๋ฌธ์ ๋ 2016๋ ๋ถํฐ ์คํ๋์์ผ๋ฉฐ ์ฌ์ ํ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์์ ์ด๋ค ์๋ฃจ์ ๋ ๋๋ฅผ ์ํด ํด๊ฒฐํ์ง ๋ชปํ์ต๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.46.1
npm: 4.2.0
๋
ธ๋ -v: 6.9.1
ํ์๊พผ: 4.7.0
xcode: 8.3.3
๋งฅ 10.12.5
๊ฐ์ ์ด๋ฆ, ํด๋ก ์ฝ๋๋ก ๋ค๋ฅธ ์์น์ ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ญ๋๋ค.
๋งค๋ ฅ์ฒ๋ผ ์๋ํ ๋ค์ ์ด์ ๊ฒฝ๋ก๋ก ์ด๋ํ ๋ค์ ์ด ์ค๋ฅ๊ฐ ๋ค์ ๋ฐ์ํฉ๋๋ค.
์ด์ํด ๊ฒฝ๋ก๊ฐ ์ด๋๊ฐ์ ์บ์ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฒฐ๊ตญ ์ด์ ๊ฒฝ๋ก๋ฅผ ํฌ๊ธฐํ๊ณ ๋์ ์ ๊ฒฝ๋ก์์ ํ๋ก์ ํธ๋ฅผ ์์
ํด์ผ ํฉ๋๋ค.
ํ์ด์ ๊ดํ ๋ชจ๋ ๊ฒ, ๋๊ตฐ๊ฐ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์ง๋ง ๋ค๋ฅธ ๋๊ตฐ๊ฐ์๊ฒ๋ ํจ๊ณผ๊ฐ ์๋ ์๋ฃจ์ , Ridiculous Good Job React ๋ค์ดํฐ๋ธ
์๋ก์ด ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ ์ ์ฌ์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ค์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋ํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ ๋ฅผ ํด๋ฆญํ์ฌ third-party.zip ํ์ผ์ ๋ค์ด๋ก๋(๋๋ ๋ด ๋ฐ๋ชจ ๋ณต์ ๋๋ ๋ค์ด๋ก๋ , third-party.zip์ ๋ฐ๋ชจ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์์)ํ ๋ค์, ๋ค์ ์์น์ third-party.zip ํ์ผ์ ์์นด์ด๋ธ๋ฅผ ํด์ ํฉ๋๋ค.
"ํ์ฌ"์ ๋๋ ํ ๋ฆฌ. "ํ์ฌ"์ ๊ฒฝ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. yourProjectRootDirectory/node_modules/react-native/third-party/ . ๋ง์ง๋ง์ผ๋ก Xcode๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์ด๊ณ ์คํ์ ํด๋ฆญํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ ๋ฅผ ํด๋ฆญํ ์ ์์ต๋๋ค
=== ๊ตฌ์ฑ ๋๋ฒ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ NewProject์ NewProjectTests๋ฅผ ๋น๋ํฉ๋๋ค. ===
์ข ์์ฑ ํ์ธ
* ๋น๋ ์ฑ๊ณต *
build/Build/Products/Debug-iphonesimulator/NewProject.app ์ค์น
๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค(๋๋ฉ์ธ=NSPOSIXErrorDomain, ์ฝ๋=2):
์์ฒญํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์นํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ณต๋ ๊ฒฝ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ์ฐพ์ ์ ์์ต๋๋ค.
์ํ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค์ ๋ํ ์ ํจํ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ญ์์ค.
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
๋ช
๋ น ์คํจ: /usr/libexec/PlistBuddy -c ์ธ์:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/NewProject.app/Info.plist
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
ํ ์ผ
ROFL, @dragulceo ๋ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์๋ ์๋ฃจ์ ์ ์ฐพ์์ต๋๋ค. xcode์์ ์ด ์ค๋ฅ๋ฅผ ์ ๊ณตํ๋ ํ๋ก์ ํธ๋ฅผ ์ด์๊ณ ์ผ๋ถ ํ์ผ์ ๋ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์์ ๋ ํญ๋ฐํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ๊ณ ๊ฒฝ๋ก์์ ๊ณต๋ฐฑ์ผ๋ก ์๋ฆฐ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฐพ๊ณ ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ฐฉ๊ธ ํ๋ก์ ํธ๋ฅผ ๊ฒฝ๋ก์ ๊ณต๋ฐฑ์ด ์๋ ๋๋ ํ ๋ฆฌ๋ก ๋ค์ ์ด๊ธฐํํ๋๋ฐ ๋ชจ๋ ๊ฒ์ด ์ ๋์์ต๋๋ค.
๋ฐ๋ผ์ react-native-cli: 2.0.1, react-native: 0.46.3์ ๊ธฐ๋ณธ ๋น๋ ์คํฌ๋ฆฝํธ์ ๋ฐ์ํ๋ฉด ํ๋ก์ ํธ๋ก ์ด์ด์ง๋ ๊ฒฝ๋ก์ ์ด๋ ๊ณณ์์๋ ๊ณต๋ฐฑ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ ๋ด๊ฐ ์ป๋ ๊ฒ์ด ์์ต๋๋ค.
Node v8.0.0
react-native": 0.46.3
XCode Version 8.3.3 (8E3004b)
react-native run-ios --simulator="iPhone 7"
๋ฅผ ์คํํ๋ฉด ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
=== BUILD TARGET third-party OF PROJECT React WITH CONFIGURATION Debug ===
Check dependencies
** BUILD FAILED **
The following build commands failed:
CompileC /Users/tharaka/Documents/Projects/Abiling/AbilingApp/ios/build/Build/Intermediates/RCTText.build/Debug-iphonesimulator/RCTText.build/Objects-normal/x86_64/RCTTextView.o RCTTextView.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/AbilingApp.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Failed to install the requested application
The bundle identifier of the application could not be determined.
Ensure that the application's Info.plist contains a value for CFBundleIdentifier.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-
iphonesimulator/AbilingApp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
ํ๋ก์ ํธ ๊ฒฝ๋ก์ ๊ณต๋ฐฑ์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ๊ทธ๊ฒ์ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
react-native upgrade
ํด๊ฒฐํ์ต๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ์ด ์ค๋ ๋์ ๋ชจ๋ ์์ ์ฌํญ์ ์๋ํ์ง๋ง ์๋ฌด๋ ๋๋ฅผ ์ํด ์ผํ์ง ์์์ต๋๋ค. ๊ทธ๋์ Xcode์์ ํ๋ก์ ํธ๋ฅผ ์ด์๊ณ /node_modules/react-native/third-party/boost_1_63_0/boost ํด๋์ ๋ช ๊ฐ์ง ์ค๋ฅ๊ฐ ํ์๋์์ต๋๋ค. ๋น ํด๋๊ฐ ๋๋ฌด ๋ง์์ ์ธํฐ๋ท์์ ๊ฒ์ ํด์ ๋ถ์คํธ๋ฅผ ๋ค์ ๋ค์ด๋ฐ์ ๊ต์ฒดํ์ต๋๋ค. ๋ด ํ๋ก์ ํธ๋ ์ด์ Xcode์์ ์ ์คํ๋๊ณ ์์ง๋ง ํฐ๋ฏธ๋์์ ์คํํ๋ ค๊ณ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
* ๋น๋ ์ฑ๊ณต *
๋ค์ ๋ช
๋ น์ ๋ถ์๊ธฐ ๋ฌธ์ ๋ฅผ ์์ฑํ์ต๋๋ค.
/Users/Kash/ReactApps/prod/albums/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c ๋ถ์
/Users/Kash/ReactApps/prod/albums/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.c ๋ถ์
(๋ถ์๊ธฐ ๋ฌธ์ ๊ฐ ์๋ 2๊ฐ์ ๋ช
๋ น)
react-native upgrade
์(๋) ์ ์๊ฒ ํจ๊ณผ์ ์
๋๋ค.
์ ๋ PODS๋ฅผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค. xcworkspace ํ์ผ์ ์ญ์ ํ๊ณ 'pod install'์ ๋ค์ ์คํํ์ต๋๋ค. ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ๊ณ ์ณค์ต๋๋ค.
๋ชจ๋ ์๋ฃจ์ ์ด ์๋๋์์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค.(. ๊ทธ๋ฌ๋ ํฌ๊ธฐํ์ง ๋ง์ธ์~
๊ทธ๋ฐ ๋ค์ cocoapods๋ฅผ ์ค์นํ๊ณ ios
ํด๋๋ก ์ด๋ํ์ฌ $# pod install
๋ฅผ ์คํํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ ํ ์ผ๋ถ ๊ฐ์ ธ์ค๊ธฐ ํ์ผ(react-native 0.44์ ๋ฒ๊ทธ์ธ ๊ฒ ๊ฐ์ต๋๋ค)์ ์ฐพ์ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ npm ์คํฌ๋ฆฝํธ :
"postinstall": "sed -i '' 's/#import <RCTValueAnimatedNode.h>/#import \"RCTValueAnimatedNode.h\"/' ./node_modules/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h",
๊ทธ๊ฒ์ ์คํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํด๊ฒฐ๋์์ต๋๋ค.
npm start
๋ก ์คํํ ์ ์์ผ๋ฉด watchman์ ๋ค์ ์ค์นํ์ญ์์ค.
๋๋ ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ง ์ด์ด ์์์ต๋๋ค. ๊ฒฐ๊ตญ iOS ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ ํ ์ฌ์ค์ ํ๊ณ ๋ชจ๋ ๋ค์ ์๋ํ์ต๋๋ค. iOS ์๋ฎฌ๋ ์ดํฐ ์๋จ ๋ฉ๋ด์์ ์ฝํ ์ธ ๋ฐ ์ค์ ์ฌ์ค์ ... ์ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ react-native๋ฅผ ๋ค์ ์คํํ์ญ์์ค. ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ค ์,
ํ๋ก์ ํธ ๊ฒฝ๋ก์ ๊ณต๊ฐ์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค .... ๋ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
@renguochao ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๊ฐ๋ฅํ ๋ชจ๋ ์ ์์ ๋ฐ๋ฅด๊ธฐ ์ํด ํ๋ฃจ ์ข ์ผ์ ๋ณด๋ธ ํ ๋ง์นจ๋ด ๋ด ํฐ๋ฏธ๋์ ์์ธํ ์ดํด๋ณด์์ต๋๋ค! :)
๋ด ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ :CFBundleIdentifier", ์กด์ฌํ์ง ์์ ์ค๋ฅ lRCTBEEPickerManager ๋ชจ๋์ ์ค์นํ ์ ์๋ค๋ ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ์์ผ๋ฏ๋ก ๋ด Xcode ํ๋ก์ ํธ๋ฅผ ์ฝ๋๋ค. => ๋น๋ ๋จ๊ณ= > ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฐ์ด๋๋ฆฌ ์ฐ๊ฒฐ
๋ช ์๋ ๋ชจ๋(lRCTBEEPickerManager)์ ์ ๊ฑฐํ๋๋ฐ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
์ด๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋์ธ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ด ์ค๋ ๋์ ์ ๊ณต๋ ๊ฑฐ์ ๋ชจ๋ ์์ ์ฌํญ์ ์๋ํ์ต๋๋ค. ์ผ๋ถ๋ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ผ๋ถ๋ ํด๊ฒฐํ์ง ๋ชปํ์ต๋๋ค. Facebook์์ ์ผํ ์น๊ตฌ๋ react native cli๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์ ์ ์์คํ ์ YARN์ด ์ค์น๋์ด ์์ด์ผ ํ๋ค๊ณ ๋งํ์ต๋๋ค. ์ด์ ๋ชจ๋ ๊ฒ์ด ์ํํ๊ฒ ์๋ํ๋ฉฐ ์ ํ๋ก์ ํธ์ ๋ํด ์ด๋ฌํ ๋ชจ๋ ์์ ์์ ์ ์ํํ ํ์๊ฐ ์์ต๋๋ค.
์๋ ํ์ธ์, ์ ๋ ์ด ๋ต๋ตํ ์ผ์ ๋ ๋จ๊ณ๋ก ํด๊ฒฐํ์ต๋๋ค.
rm -rf ~/.rncache
npm install -g react-native-cli
๋ค์ ์ค์น๊ทธ๋ฐ ๋ค์ ์ ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐํํ๊ณ react-native run-ios๋ฅผ ๋๋ฅด๋ฉด ์๋ํด์ผ ํฉ๋๋ค.
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ๊ฐ์ ์ค๋ฅ๊ฐ ์์ต๋๋ค.
๋ด ์ค์ :
Xcode์์ ๋ด ์ฑ์ ์คํํ์ฌ ํด๊ฒฐํฉ๋๋ค. ์ฝ์(react-native run-ios)์์ ์๋ํ์ง ์๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ฌธ์ ์ธ์ฌ,
GitHub์์ ํ๋ก์ ํธ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค.
์ ๋ชจ๋ฅด์ง๋ง ๋ค์ ๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ์ต๋๋ค.
1๋จ๊ณ: node_module ์ญ์
2๋จ๊ณ: ๋น๋ ํด๋ ์ญ์
3๋จ๊ณ: npm/yarn ์ค์น
4๋จ๊ณ: ๋ฐ์ ๋ค์ดํฐ๋ธ ์
๊ทธ๋ ์ด๋
5๋จ๊ณ: ๋ฐ์ ๋ค์ดํฐ๋ธ ๋งํฌ
์ด์ ๋ค์ดํฐ๋ธ run-ios/android์ ๋ฐ์ํ ์ ์์ต๋๋ค.
"react-native upgrade"๋ฅผ ์คํํ์ฌ ํด๊ฒฐํ ์ ์์์ต๋๋ค.
๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํด๋ ์ด๋ฆ์ ํ์ธํ์ญ์์ค. ํด๋ ์ด๋ฆ์๋ ๊ณต๋ฐฑ์ด ์์ด์ผ ํฉ๋๋ค. Xcode๊ฐ ์ฐจ์งํ์ง ์๋ ๊ณต๊ฐ์ด ์์ผ๋ฉด ๋น๋ ๋จ๊ณ์์ ์ด ์ค๋ฅ๊ฐ ์์ฑ๋ฉ๋๋ค.
๋๋ ๋ํ์ด ๋ฌธ์ ๋ฅผ ๊ฒช์๊ณ ์์ ์๋ฃจ์ ์ค ์ด๋ ๊ฒ๋ ๋๋ฅผ ์ํด ์ผํ์ง ์์์ต๋๋ค. ๊ณ ์น ๋ฐฉ๋ฒ์ ์ฐพ์ ๋๊น์ง.
๋ด๊ฐ ํ ์ผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1) ํ์ผ ๋๋ ํ ๋ฆฌ์ ๊ณต๋ฐฑ์ด ์๋์ง ํ์ธํ์ญ์์ค.
2) CD
3) '๋ฐ์ ๋ค์ดํฐ๋ธ ์
๊ทธ๋ ์ด๋' ๋ช
๋ น ์คํ
4) ๊ธฐ๋ณธ ios ํด๋๋ก ์ด๋ํ์ฌ xcode ํ๋ก์ ํธ๋ฅผ ์ฝ๋๋ค.
5) ํ์ผ > ํ๋ก์ ํธ ์ค์ > ๊ณ ๊ธ...์ผ๋ก ์ด๋ํฉ๋๋ค.
6) ์ฌ์ฉ์ ์ ์ > ์์
๊ณต๊ฐ ๊ธฐ์ค์ ์ ํํฉ๋๋ค.
7) ์ ํ ๊ฒฝ๋ก๋ '๋น๋/๋น๋/์ ํ'์ด์ด์ผ ํฉ๋๋ค.
8) ์ค๊ฐ ๊ฒฝ๋ก๋ '๋น๋/๋น๋/์ค๊ฐ'์ด์ด์ผ ํฉ๋๋ค.
9) ์ด์ ํฐ๋ฏธ๋ 'react-native run-ios'์์ ๋ช
๋ น์ ์คํํด ๋ณด์ญ์์ค.
์ด ์๋ฃจ์ ์ด ์ด ๋ฌธ์ ์ ์ง๋ฉดํ ์ฐ๋ฆฌ ์ค ์ผ๋ถ์๊ฒ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ์ด๋ ๊ฒ ํด๊ฒฐํ์ต๋๋ค.
~
๋ก ์ด๋ํ์ต๋๋ค(๊ฒฝ๋ก์์ ๊ณต๋ฐฑ ์ ์ธ)ProjectName/ios/build
ํด๋๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.react-native run-ios
๋น์ ์ดํด์ผ ํ ๋ชจ๋
1. react-native init ํ๋ก์ ํธ ์คํ
๋ ธ๋ ฅํ๋ค
react-native init ProjectName --version 0.44.3
sudo chmod -R 777 ProjectName
react-native run-ios
react-native run-android
์ด๊ฒ์ด ์๋ํฉ๋๋ค.
@gvlamadrid ๊ฐ ๋งํ ๊ฒ์ฒ๋ผ ์กฐ์ ๋์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋น๋ ํด๋ rm -rf ios/build
๋ฅผ ์ญ์ ํฉ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ 0.48๊ณผ ๋์ผํ ๋ฌธ์
@crajesh238 - ๋น๋ ํด๋๋ฅผ ์กฐ์ ํ ๋ค์ ๋ ๋ ค ๋ฒ๋ฆฌ๋ ๊ฒ์ ๋ํด ๋ด๊ฐ ๋งํ ๊ฒ์ ์๋ ํ์ต๋๊น?
๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ ์ค๋ฅ ๋ฉ์์ง๊ฐ ์์ผ๋ฉฐ ์ ๊ณต๋ ๋ชจ๋ ์ต์ ์ ์๋ํ์ต๋๋ค... ๋ค๋ฅธ ์์ด๋์ด๊ฐ ์์ต๋๊น?
์ ์ธ๊ณ์ ์ผ๋ก ๋ชจ๋ ํญ๋ชฉ์ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ๋ค์ ์ค์นํ์ญ์์ค.
@arun0009 ์ผํ์ต๋๋ค :)
npm install react-native-git-upgrade
๋ฐ react-native-git-upgrade
๋ก ์ ์ฒด ๋ฐ์ ๋ค์ดํฐ๋ธ ์ํ๊ณ๋ฅผ ์
๊ทธ๋ ์ด๋ํ๊ณ ๋ง์นจ๋ด ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. :)
๋์๊ฒ ๊ทธ๊ฒ์ :8081
ํฌํธ์์ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃํ๋ ๊ฒ๋ง ํผ ๊ฐ๋จํ์ต๋๋ค. ์ด๊ฒ์ด ๋ค๋ฅธ ์ฌ๋์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ฌธ:
'boost/iterator/iterator_adaptor.hpp' ํ์ผ์ ์ฐพ์ ์ ์์' ๋ฐ ":CFBundleIdentifier", ์กด์ฌํ์ง ์์
์ด์ :
์๋ฃจ์
:
1๋จ๊ณ: ๋ค์๊ณผ ๊ฐ์ด .rncache๋ฅผ ์ญ์ ํด์ผ ํฉ๋๋ค.
--> rm -rf node_modules && rm -rf ~/.rncache && yarn
2๋จ๊ณ:--> npm install
3๋จ๊ณ:--> react-native upgrade
4๋จ๊ณ:--> react-native run-ios
๋์๊ฒ ํด๊ฒฐ์ฑ ์ Xcode์์ Build Active Architecture Only๋ฅผ Yes๋ก ์ค์ ํ๋ ๊ฒ์ด์์ต๋๋ค. Xcode ํ๋ก์ ํธ > ๋น๋ ์ค์ > ํ์ฑ ์ํคํ ์ฒ๋ง ๋น๋ > ๋๋ฒ๊ทธ > ์.
๋๋ฅผ ์ํด ๋น๋ ์์น๋ฅผ ๊ณ ์ ํ๊ฒ ์ค์ ํ๋ฉด ํธ๋ฆญ์ ์ํํ์ต๋๋ค.
XCode->Preferencec->์์น->๊ณ ๊ธ->๋น๋ ์์น->๊ณ ์
๋ฐ์ ๋ค์ดํฐ๋ธ ์
๋ฐ์ดํธ ์ค์น
npm install -g react-native-git-upgrade
๋ฐ์ ๋ค์ดํฐ๋ธ ์
๋ฐ์ดํธ
react-native-git-upgrade
sudo๋ก ์คํ
sudo react-native run-ios
Expo ๋๋ CRNA์์ ๊บผ๋ด๋ ๊ฒ์ด ์ฌ์ ํ ์ ๋๋ก ์๋ํ์ง ์๋๋ค๋ ์ ์ ์ถ๊ฐํ๊ณ ์ถ์์ต๋๋ค. ๋๋ ์ ๋๋ก ๋ฌธ์ํ๋์ง ์์์ต๋๋ค. ๋ง์ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ๊ฒฐ๊ตญ ์ด ๋จ๊ณ์ ์ด๋ฅด๋ ์ง๋ง atm..๋ก ์ฌ์ํ ์๊ฐ์ด ์์ต๋๋ค. ์ง๊ธ์ ์ข์ ์ค๋๋ react-native-cli๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์์ํฉ๋๋ค.
Github์์ ์์ ํ ์๋ํ๋ ํ๋ก์ ํธ๋ฅผ ๋์ผํ ์์คํ ์ ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ๋ก ๋ณต์ ํ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ค์ดํฐ๋ธ ๋ชจ๋ ์ฐ๊ฒฐ์ ๋ฌธ์ ๊ฐ ์๋ ์ค ์์๋๋ฐ react-native ๋งํฌ๋ฅผ ์คํํ๋ ๋ชจ๋ ๊ฒ์ด ์ฐ๊ฒฐ๋์๋ค๊ณ ๋์ต๋๋ค. ์์ง ํด๊ฒฐ์ฑ ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ ์ด๊ธฐํ ํ๋ก์ ํธ ์ด๋ฆ --๋ฒ์ 0.44.2
react-native run-ios๊ฐ ์๋ํ์ต๋๋ค.
์ ๊ฒฝ์ฐ์๋ Info.plist์ CFBundleIdentifier
๋ฅผ ํ๋ ์ฝ๋ฉํ๋๋ฐ ๋ค์ ์๋ํฉ๋๋ค.
<key>CFBundleIdentifier</key>
<string>com.example.myapp</string>
ํด๊ฒฐ์ฑ
์ ์ฐพ์์ต๋๋ค.
react-native init AwesomeApp --version 0.44.3
react-native run-ios
OS ๋ฒ์ : ํ์ด ์์๋ผ
๋
ธ๋: 7.1
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋๋ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ๋น๋ ํด๋ ๊ถํ ๋ฌธ์ ๋ผ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ios/build ๋ฐ ๋ชจ๋ ํ์ ํด๋์ ์ฐ๊ธฐ ๊ถํ์ ํ ๋นํ์ฌ ํด๊ฒฐ๋ฉ๋๋ค.
chmod 777 ios/build
ios/build ๋ด๋ถ์ ๋ชจ๋ ์ค์ฒฉ ํด๋์๋ ์ฐ๊ธฐ ๊ถํ์ด ์๋์ง ํ์ธํ์ญ์์ค.
์ฌ๊ธฐ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ฌด์์ด๋ react-native upgrade
๋ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ configure
์คํฌ๋ฆฝํธ๊ฐ ํน์ ๋ฌธ์๋ฅผ ํ์ธํ๊ธฐ ๋๋ฌธ์ glog์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ๋ง์ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ์์ ํด๋์ ํน์ ๋ฌธ์๊ฐ ์์ต๋๋ค. ํนํ:
glog
์ปดํ์ผ์ด ์๋ฃ๋์ง ์์์ต๋๋ค.glog
๊ฐ ์ปดํ์ผ๋์ง ์์๊ธฐ ๋๋ฌธ์ $ config.h
๊ฐ ์์ฑ๋์ง ์์์ต๋๋ค.์๋ ์ธ๊ธํ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์์ ์๋ํ์ญ์์ค.
${yourProject}/node_modules/react-native
์ ๋ค์ด๊ฐ๋๋ค../third-party/
์ ๊ฑฐscripts/ios-install-third-party.sh
์คํ์ ๋ฌธ์ ๊ฐ ์๋์ง ํ์ธ์ ์ด๋ ๋ฌธ์ ๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ค๋ฅ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
๋ํ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์์ฃผ ๋ฐ์ํ๋ฉด ๋ฌธ์ ํด๊ฒฐ ํ์ด์ง ์ ์ถ๊ฐํ ๊ฐ์น๊ฐ ์์ต๋๊น?
๋๋ฅผ ์ํด ๋ฐ์ ๋ฐ ๋ฐ์ ๋ค์ดํฐ๋ธ ์์ ์ ๋ค์ด ๊ทธ๋ ์ด๋ํ์ญ์์ค :)
runIOS.js
์์ ๊ฒฝ๋ก๊ฐ ์๋ชป๋์์ต๋๋ค. $ Build
์ธ๊ทธ๋จผํธ๊ฐ ๋๋ฌด ๋ง์ต๋๋ค.
ํด์ผํ๋ค:
const getBuildPath = function(configuration = 'Debug', appName, isDevice) {
return `build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app`;
};
@hazam , ๋ด ๋น๋์์๋ build/Build ์๋์ ๋ฐฐ์น๋ฉ๋๋ค. ๊ทธ๋ฌ๋ @brianneisler ์ ์๋ฃจ์ ์ ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ์ ๋ XCode 9์ 6s์ฉ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ์ฉ ์ค์ ๋๋ค. ๋ด ํ๋ก์ ํธ๋ XCode์์ ์์ํ ๋ ์ ์์ ์ผ๋ก ์คํ๋์ง๋ง react-native run-ios๋ฅผ ์ฌ์ฉํ ๋๋ ์คํ๋์ง ์์ต๋๋ค. ์ฑ๊ณต์ ์ผ๋ก ๋น๋๋๊ณ ์๋ฎฌ๋ ์ดํฐ์ ์ค์น๋ ๋ค์ ์ด๋ฆฌ๊ณ ์ฆ์ ๋ค์ ๋ซํ๋๋ค.
๋ด ์ฑ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ณ iOS/Android ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๊ณ react-native eject
๋ฅผ ์คํํ ํ์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ก ์์ฑ๋ .xcodeproj
ํ์ผ์ ์ด๋ ค๊ณ ํ๋ฉด Xcode์์ ์ด๋ฆฌ์ง ์์ต๋๋ค.
๋ด ์์ ์ app.json
์์ "์ด๋ฆ"์ ๋ณ๊ฒฝํ์ฌ ๊ณต๋ฐฑ์ด ์๋๋ก ํ๋ ๊ฒ์ด์์ต๋๋ค(๋ด ์ฑ ์ด๋ฆ์๋ 3๋จ์ด๊ฐ ์์). "displayName"์ ๊ณต๋ฐฑ์ ๊ด์ฐฎ์ต๋๋ค.
๋ ธ๋๋ฅผ 8+๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋์ react-native run-android
๋ฅผ ์คํํ๋๋ฐ ๋งค๋ ฅ์ฒ๋ผ ์๋ํ์ต๋๋ค!
๋๋ ์ด๊ฒ์ด ํจํค์ ( yarn start
)๋ฅผ ์ง์ ์คํํ ๋์ react-native run-ios
ํจํค์ ๋ฅผ ์คํํ๊ณ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์คํํ ๋ ๋ฐ์ํ์ง ์๋๋ค๋ ๊ฒ์ ์์์ฐจ๋ ธ์ต๋๋ค.
react-native run-ios
๋ ํ๋ก์ ํธ๋ฅผ ๊นจ์ง ์ํ๋ก ๋ง๋ญ๋๋ค. ๋ค์์ ๋๋ฅผ ์ํด ๊ทธ๊ฒ์ ํด๊ฒฐํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ๊ณ react-native run-ios
๋ฅผ ๋ค์ ์์ ํ๊ฒ ๋ง๋ญ๋๋ค.
.watchmangconfig
๋ฅผ ๋น ๊ฐ์ฒด๋ก ์
๋ฐ์ดํธํ์ญ์์ค: {}
์ฌ๊ธฐ ํ
ํ๋ฆฟ์ฒ๋ผ.watchman watch-del-all && rm -rf node_modules && yarn install && yarn start -- --reset-cache
(๊ทธ๋ ๋ค๋ฉด ์์ฌ ๋์ npm์ ์ฌ์ฉํ์ญ์์ค.)react-native run-ios
https://github.com/facebook/react-native/issues/7308#issuecomment -250231736 ๋ง์นจ๋ด ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
๋ด ํ๋ก์ ํธ์์์ด ์ค๋ฅ๋ git์ ์ํด ๋ฐ์ํฉ๋๋ค.
Git pull์ด ์๋ ๋ณํฉ์ ์ํํ์ง๋ง ์ฑ๊ณต์ ์ผ๋ก ๋ณํฉ๋์ง ์์์ต๋๋ค.
Atom open info.plist
์ ์ฌ์ฉํ์ฌ ์์ ํ์ต๋๋ค.
๊ฒ์ ํค์๋ >>>>>>
๋๋ HEAD
๋๋ >>>>>> HEAD
, ์ถฉ๋ ์์ , ์ ์ฅ, ์๋ฃ.
์ด๋ฆฌ์์ ์ผ์ด์ง๋ง ์ ๊ฒฝ์ฐ์๋ ๊ฐ๋จํ ์ฌ๋ถํ ์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
@malikmani ๊ฐ์ฌํฉ๋๋ค. ์ด๊ฒ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
ํ์ง๋ง ๋จผ์ , ios ํด๋์ asset์ด๋ผ๋ ํด๋๋ฅผ ๋ง๋ค์์ต๋๋ค.
์์คํฌ์์ ํด์ฅ ํ. ๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๊ณ ๊ฑฐ์ ๋ฐ๋์ ๋์ ๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ์ง๋ง ๊ทธ ์ค ์ด๋ ๊ฒ๋ ๋๋ฅผ ์ํด ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์์ต๋๋ค.
1.) ๊ณต๋ฐฑ์ด๋ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด ํ๋ก์ ํธ๋ฅผ ๋ฃจํธ(~) ๋๋ ํ ๋ฆฌ(High Sierra์ ํจ๊ป Mac์ ์ฌ์ฉ ์ค)๋ก ์ฎ๊ฒผ์ต๋๋ค.
2.) "Project/ios/build" ํด๋ ์ ๊ฑฐ
์์ 2๋จ๊ณ ํ์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ์ ์์์ง๋ง Expo๋ ์๋ฒ์์ ์ฑ์ ๋ก๋ํ์ฌ ์์ฒด ๋ณด๊ธฐ์์ ์ฑ์ ๋ก๋ํ๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก ๋ค์ ์ค๋ฅ๊ฐ ํ์๋์์ต๋๋ค. "์๋ฒ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.. .".
_๋๋์ด ์ด๋ ๊ฒ ๋์์ต๋๋ค:_
3.) ExpoKit ํฌ๋ ๋ด๋ถ์ ๋น๋ ์ค์ ์ "DEBUG=0" ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
๋๋ React Native๊ฐ ์ถฉ๋ถํ ์ฑ์ํ์ง ์๋ค๋ ๊ฒ์ ์ดํดํ ์ ์์ง๋ง ์ด ์ด๋ฆฌ์์ ์ผ์ ๋ฐ๋์ ์ ์์ ๊ฒ์ด๋ผ๊ณ ๋ ์์ํ์ง ๋ชปํ์ต๋๋ค.
๊ทธ๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
Metro ๋ฒ๋ค๋ฌ๋ ์ฒซ ๋ฒ์งธ ์๋์์ ์์๋์ง ์์์ต๋๋ค. ๋จ์ํ react-native run-ios
๋ฅผ ๋ค์ ์คํํ๋ฉด ๋ค๋ฅธ ํฐ๋ฏธ๋ ์ฐฝ์ด ์ด๋ฆฌ๊ณ Metro Bundler๊ฐ ์์๋๊ณ ์๋ฎฌ๋ ์ดํฐ์์ ์๋ํ์ต๋๋ค.
์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ CLI: 2.0.1
๋ฐ์ ๋ค์ดํฐ๋ธ: 0.51.0
OSX 10.12.6
์์ค์ฝ๋ 9.1
@consideRatio ์ ์ ์์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค!
xcode ํ๋ก์ ํธ๋ฅผ ์ด๊ณ ๋น๋ํ๋ ค๊ณ ํ๋ฉด ์ด ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๊ด๋ จ ์๋ ์ค๋ฅ๊ฐ ์์ ์ ์์ต๋๋ค.(์ด ๊ฒฝ์ฐ๊ฐ ํด๋น๋จ). ๋๋ฝ๋ ๊ธ๊ผด ํ์ผ์ด ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ํ์ ์๋์์ ๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ ํ์ด ์๊ฒฌ์ผ๋ก ์ด๊ฒ์ ํด๊ฒฐํ์ต๋๋ค.
ios/
๋๋ android/
์ญ์ react-native eject
<-- ์ด๊ฒ์ด ๋๋ฅผ ์ํด ํ ์ผ์
๋๋ค.react-native-git-upgrade
react-native link
react-native run-ios
๋๋ ๋ง์นจ๋ด ๋ค์์ ์ํํ์ฌ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
1) ๋ฐ์ ๋ค์ดํฐ๋ธ ์
๊ทธ๋ ์ด๋ ๋ฐ ๋ชจ๋ ์ง๋ฌธ์ ๋ํด 'y'๋ฅผ ์ ํํฉ๋๋ค.
2) ios ํด๋ ์์ ์๋ ๋น๋ ํด๋ ์ญ์
3) ๋ง์นจ๋ด ๋ฐ์ ๋ค์ดํฐ๋ธ ์คํ iOS
์ฐธ๊ณ : ์์ 3๋จ๊ณ๋ฅผ ์ํํ๊ธฐ ์ ์ commad react-native-git-upgrade๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทธ๋ ์ด๋๋ ์๋ํ์ต๋๋ค.
๋๊ตฐ๊ฐ์๊ฒ ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ...
ํด๊ฒฐ์ฑ :
๋ฐ์ ๋ค์ดํฐ๋ธ ์ ๊ทธ๋ ์ด๋ => ๋ชจ๋ ๊ต์ฒด !!! ue-link๋ฅผ ๋ค์ ๊ธฐ์ตํ์ญ์์ค(1 ์ฐธ์กฐ).
- watchman watch-del-all
- ๋ ธ๋ ๋ชจ๋์ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ๊ณ ios/build๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ ๋น๋ํ์ญ์์ค.
์ด์ ๋ํ ๋ด ์๋ฃจ์
์ cd ios && pod install
์
๋๋ค.
๊ทธ๋ฌ๋ฉด ์ ์๋ํฉ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ ์ฐ๊ฒฐ ํด์ ๋ฅผ ์ฌ์ฉํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๊ฒฐ์ ํด์ ํด์ผ ํ์ต๋๋ค.
๋๋ ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ง ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค.
์ ๊ฒฝ์ฐ์๋ IOS ๋น๋๊ฐ ์ฑ๊ณตํ๊ณ ๊ทธ ํ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
** BUILD SUCCEEDED **
The following commands produced analyzer issues:
Analyze /Users/shyam/projects/master-chat-app/master-mobile-chatbot/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c
Analyze /Users/shyam/projects/master-chat-app/master-mobile-chatbot/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.c
Analyze Base/RCTModuleMethod.mm
(3 commands with analyzer issues)
Installing build/Build/Products/Debug-iphonesimulator/mastermobilechatbot.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/mastermobilechatbot.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
๋์์ด ๋์ จ๋์?
@shyam528 yoga
์ ๊ด๋ จ๋ ์ค๋ฅ๋ก ์ธํด ๋งค์ฐ ์ ์ฌํ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฌ์ต๋๋ค. ๋๋ ๋ค์์ด ํ์ํ๋ค:
cd ios
pod update yoga
๊ทธ๋ ๊ฒ ํ๊ธฐ ์ ์ cocoapods๋ฅผ ๋ค์ ์ค์นํด์ผ ํ๊ณ ๊ทธ ์ ์ ruby โโ2.4.2๋ก ์ ๊ทธ๋ ์ด๋ํด์ผ ํ์ต๋๋ค.
์ด๊ฒ์ _Xcode Build Location_์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. Xcode -> ๊ธฐ๋ณธ ์ค์ -> ์์น -> ๊ณ ๊ธ์์ ๊ณ ์ ํ๊ฒ ์ ํํด ๋ณด์ญ์์ค.
๋๋ ์ด์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์๋๋ฐ, ๋ฐ์ ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐํํ ํ ๋ด ํฌ๋๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ฐ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์ ํ๋ ค๋ฉด IOS ํด๋์์ xproj๋ฅผ ๋ก๋ํ์ต๋๋ค. ๊ฒฝ๊ณ ๊ธฐํธ๊ฐ ๋ง์ด ํ์๋๋ฉด ๊ฐ ๊ธฐํธ๋ฅผ ๋ ๋ฒ ํด๋ฆญํ๊ณ ๋ชจ๋ ์ฌ๋ผ์ง ๋๊น์ง "๋ณ๊ฒฝ ์ฌํญ ์ํ"์ ์ ํํฉ๋๋ค. ์ ๋ฐ์ดํธ๋ Pod์ ๋ํ ๊ตฌ์ฑ์ ๊ต์ฒดํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ด๊ฐ ํ ํ์๋ react-native run-ios์์ ์ ์๋ํ์ต๋๋ค.
@robertkent ์ ์๊ฒฌ์ ๋ง๋ถ์ด์๋ฉด, ๋๋ ์ด๋ค ์ด์ ๋ก cocoapods ์บ์์ ์๋ชป๋ ๋ฒ์ ์ Pod๊ฐ ์์๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ๋ง์ ์ธ์์ ํ๊ฒ ๋์์ต๋๋ค. ๊ทธ๋์ Cocoapods๋ ํน์ ๋ฒ์ ์ Pod๋ฅผ ์ค์นํ๋ ๋์ ๋ด ํ๋ก์ ํธ ํด๋์์ ๋ชจ๋ ํฌ๋๋ฅผ ์ง์ ์์๋ ๋ถ๊ตฌํ๊ณ ์ค์ ๋ก ๋ค๋ฅธ ๋ฒ์ ์ ์ค์นํ๊ณ ์์์ต๋๋ค.
์บ์๋ฅผ ์ง์ฐ๋ ค๋ฉด ๋ค์ ์ฃผ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋์์ด ๋์์ต๋๋ค. https://gist.github.com/mbinna/4202236#gistcomment -1814665
๋ด ์ฌ์ฉ์ ๋๋ ํฐ๋ฆฌ( ~/.cocoapods
)์ ์๋ ํฌ๋ ์บ์๋ ์ ๊ฑฐํ์ง๋ง ์ด๊ฒ์ด ํ์ํ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. Cocoapods์๋ ์ฌ๋ฌ ๋ ์ด์ด์ ์บ์ฑ์ด ์๋ ๊ฒ ๊ฐ์์ต๋๋ค. ์ด๋ ์ ์๊ฒ ํฐ ๊ณ ํต์ด์์ต๋๋ค.
์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค........ >=( ๋ชจ๋ ๊ฒ์ด ์ด์ ์๋ํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ React Native ๊ณต์ ๊ฐ์ด๋์์ ์ถ์ฒํ ์๋ก์ด fency Ionic Library์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์ด๊ฒ์ ์ค์นํ๋ ค๋ฉด 100๊ฐ์ ์๋ก์ด ์ค๋ฅ์ ์ง๋ฉดํด์ผ ํ์ต๋๋ค. ๊ฒฐ๊ตญ ๋ฌด์์ ํ๊ณ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ๊ณ (๋ฌธ์ ๋๋ถ์) ์ด์ ๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค. ๋๋ ์ง๋ ๋ช ์๊ฐ ๋์ ์ด ๋ฌธ์ ์ ๋ํด ๊ณ ๋ฏผํด ์์ผ๋ฉฐ, ์ง๊ธ์ ์ค์ 2์ 10๋ถ์ด๊ณ 4์๊ฐ ํ์ ์ผ์ด๋์ผ ํฉ๋๋ค. ์ฐจ๋ฅผ ๋ชฐ๊ณ ์ถ๊ทผํ์ง๋ง ์๋ฌด๊ฒ๋ ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ง๊ธ ์ ์ ์ ์ ์์ต๋๋ค
@MrIceman ์ด ๋ชจ๋ ์๋ฃจ์ ์ ์๋ํ๊ธฐ ์ ์ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค. ๋ด๊ฐ ํ ๊ฒ์ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ถํ๊ณ ๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ ํ๋์ฉ ์ค์นํ์ฌ ์ด๋ค ํ๋ฌ๊ทธ์ธ์ด ์ค๋ฅ๋ฅผ ๋ฐ์์์ผฐ๋์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค.
์, ๋ฐฉ๊ธ react-native-navigation ๋ฐ react-native-camera๋ฅผ ์ ๋ฐ์ดํธํ๋๋ฐ ๋ํฐ ์ค๋ฅ๊ฐ ๋ค์ ๋ฐ์ํ๋ฏ๋ก ํด๋น ํ๋ฌ๊ทธ์ธ์ ์ดํด๋ณด์ญ์์ค.
React-native๋ฅผ ์
๋ฐ์ดํธํ๋ค๋ฉด pod์์ ์๊ฐ๋ ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ RN์ 0.54.0์ผ๋ก ์
๋ฐ์ดํธํ ํ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
cd ios && pod update yoga
8081์ด ์ฌ์ฉ์ค์ธ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค.
nginx -s stop
์(๋) ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
ใ
ใ
ใ
๋ฐฉ๊ธ ๋ฌธ์ ์ ์ง๋ฉดํ์ผ๋ฉฐ react-native-cli๋ฅผ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ์ฌ ํด๊ฒฐํ์ต๋๋ค.
์ด๋ค ๋ฐ์ ๋ค์ดํฐ๋ธ
rm -R /usr/local/bin/๋ฐ์ ๋ค์ดํฐ๋ธ
npm install -g react-native-cli
๋ค์ดํฐ๋ธ ์ด๊ธฐํ myapp ๋ฐ์
CD ๋ง์ด์ฑ
๋ฐ์ ๋ค์ดํฐ๋ธ ์คํ iOS
๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
react-native upgrade
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์์ ์
๋ฐ์ดํธํ๊ณ ๋ชจ๋ iOS ํ์ผ์ ๋ฎ์ด์ฐ๋ ๊ฒ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค!
package.json
์์ ํจํค์ง๋ฅผ ์ ๊ฑฐํ๊ณ npm install
์ ์คํํ ํ iOS์์ ๋์๊ฒ ์ผ์ด๋ฌ์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ํจํค์ง๋ฅผ ๋ค์ ์ค์นํด์ผ ํ์ต๋๋ค. ์ ๋๋ก ์ฐ๊ฒฐ์ ํด์ ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
Android์์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
์ด๊ฒ์ ๋์๊ฒ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
rm -rf ios/build/
๋น๋ ํด๋๋ฅผ ์ ๊ฑฐํ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ค์ ๋น๋ํ์ญ์์ค. ๊ทธ๋ฌ๋ฉด ์ ์๋ํฉ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ v0.55์์ v0.54๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ฉด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
allllll์ v0.52.0์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํด์ผ ํ์ต๋๋ค. ๋์๊ฒ ๋ง๋ ์ ์ผํ ๋ฒ์
react-native v0.55.0์ ์ค์ ๋ก ์ด๊ฒ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ญ์์ค. https://github.com/facebook/react-native/issues/18681
์์ ๋ชจ๋ ๊ฒ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค. ๋ด xcode ๋ฒ์ ์ 8.3.2์์ต๋๋ค. ๋ฐ๋ผ์ react-native๋ฅผ 0.55.0์์ react-native v0.50.4๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ์ ๋ ์๋ํ์ต๋๋ค. ๋ค๋ฅธ ๋ฉํฑ์์ xcode ๋ฒ์ ์ด 9.3์ธ ๊ณณ์์ ์๋ํ๊ณ ๋ฐ์ํ์ต๋๋ค. -native v0.55.0์ ๊ฑฐ๊ธฐ์์ ์๋ฒฝํ๊ฒ ์๋ํ์ต๋๋ค.
๊ฐ์.
์์ค์ฝ๋ 8.2.1
๋
ธ๋ v9.3.0
react-native์ ๋ง์ง๋ง ๋ฒ์ ์ ๋น๋์ ์คํจํ์ต๋๋ค(0.55.2, 0.55, 0.54).
๊ทธ๋ฌ๋ react-native 0.53.0์์๋ ๊ด์ฐฎ์ต๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ ์ด๊ธฐํ MyApp --๋ฒ์ "0.53.0"
๊ธฐ๋ณธ RN ๋ฒ์ ์ ๋ํ ๋ฐ์: xcode ๋ฒ์ ์๊ตฌ, ๋
ธ๋ ๋ฒ์ ๋๋ ๊ธฐํ
์: rn 0.54 xcode >9.1 , ๋
ธ๋ >6.5 ๋ฐ android sdk >24(๋ค๋ฅธ ์ข
์์ฑ ํ์)
์ ๋ ์ ๋งฅ๋ถ์ ์บกํด์์ ์์๋ผ๋ก ์ฎ๊ฒผ์ต๋๋ค.
์์๋ผ์์๋ ๋ง์ง๋ง ๋ฒ์ ์ xcode(9.3)๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.
์ด์ ๋ฐ์ ๋ค์ดํฐ๋ธ๊ฐ ์๋ํฉ๋๋ค.
์ถ๊ฐํ๋ฉด ์์ ์ฌํญ์ด ์์ ๋์ง ์์ผ๋ฉด ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค.
npm i -g react-native-git-upgrade && react-native-git-upgrade
npm i -g react-native-cli
nvm install --lts
๋ฐ nvm install-latest-npm
npm install
์ react-native run-ios
๋ก ๋ค์ ์งํํ๊ณ ์์์ฃผ์ธ์ :-)๋ง์นจ๋ด ์ฌ๊ธฐ์์ ์๋ํฉ๋๋ค.
ios/
๋ฐ android/
ํด๋ ์ ๊ฑฐ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค!
์ฌ์ ํ CfBundleIdentifier ๋ฌธ์
์ธ์: ":CFBundleIdentifier" ํญ๋ชฉ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
npm ์ค๋ฅ! ์ฝ๋ ELIFECYCLE
npm ์ค๋ฅ! ์ค๋ฅ ๋ฒํธ 1
npm ์ค๋ฅ! [email protected] ios: react-native run-ios
npm ์ค๋ฅ! ์ข
๋ฃ ์ํ 1
npm ์ค๋ฅ!
npm ์ค๋ฅ! [email protected] ios ์คํฌ๋ฆฝํธ์์ ์คํจํ์ต๋๋ค.
npm ์ค๋ฅ! ์ด๊ฒ์ ์๋ง๋ npm์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์
๋๋ค. ์์ ์ถ๊ฐ ๋ก๊น
์ถ๋ ฅ์ด ์์ ์ ์์ต๋๋ค.
๋ด VSC ์ฝ์์์ ์ด ๋ฌธ์ ๊ฐ ์์๊ณ ๋ค์์ ์ํํ์ต๋๋ค.
ํ์ผ -> ํ๋ก์ ํธ ์ค์ ์ผ๋ก ์ด๋ํฉ๋๋ค.
๊ณ ๊ธ ๋ฒํผ์ ํด๋ฆญํ์ญ์์ค
"Custom"์ ์ ํํ๊ณ ํ๋ค์ด์์ "Relative to Workspace"๋ฅผ ์ ํํฉ๋๋ค.
ํด๋ฆญ ์๋ฃ, ์๋ฃ
๊ทธ๋ฌ๋ ์ค๋ฅ๋ ์ฌ์ ํ ๋์ผํ์ต๋๋ค.
๊ทธ๋์ Xcode๋ฅผ ์ด๊ณ ์ปดํ์ผ์ ์๋ํ๋๋ฐ react-native-maps์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์๋ ์์ ์ ํด๋ฆญํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ๋๊ตฐ๊ฐ๋ฅผ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค :)
React Native์์ Swift xD๋ก ์ ํ
์ด ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ์ธ์ ๐
https://stackoverflow.com/questions/37461703/print-entry-cfbundleidentifier-does-not-exist
ios/build ํด๋๋ฅผ ์ญ์ ํ๊ณ Xcode๋ฅผ ์ด๊ณ ๋น๋ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ ํ ๋ค์ ๋น๋ํ์ญ์์ค.
๋๊ตฐ๊ฐ๋ฅผ ๋๊ณ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 2์๊ฐ์ ์๋นํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
react-native upgrade
๋ฅผ ์คํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๋๋ฅผ ์ํด ์ผํ ๊ฒ์ ๋ด React-Native ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ(๋ฉ์ธ ๋๋ ํ ๋ฆฌ)๋ก ์ด๋ํ์ฌ ios
๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ๋ ๊ฒ์ด์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ํฐ๋ฏธ๋์ react-native eject
๋ฅผ ์
๋ ฅํ๋ฉด ๋ค๋ฅธ ios ํด๋๊ฐ ์์ฑ๋ฉ๋๋ค. ๊ทธ ํ, ๊ทธ๊ฒ์ ์ฆ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค. ios ๋๋ ํ ๋ฆฌ์ ์ ์ฅํด์ผ ํ ์ค์ํ ๊ฒ์ด ์์ง๋ง ๊บผ๋ด๊ธฐ์ ์ํด ์๋์ผ๋ก ์์ฑ๋ ๋ชจ๋ ๊ฒ์ด ์ค์ ๋ก ์๋ํ๋ ๋ฐฉ์์ผ๋ก ๋ค์ ์์ฑ๋๋ค๋ ์ ์ ์ ์ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ Expo๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์๊ฒ๋ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊บผ๋ด๋ ๊ฒ์ ๋ ์ด์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์
๋๋ค. android
ํด๋๋ฅผ ์ญ์ ํ ํ์๋ ์์ง๋ง ๊บผ๋ด๋ฉด ios ๋ฐ android ํด๋๊ฐ ์์ฑ๋๋ฏ๋ก ์ญ์ ํ ์๋ ์์ต๋๋ค(์๋ ๊ฒฝ์ฐ์๋ง).
react-native upgrade
๋ฅผ ์คํํ๊ณ ๋ชจ๋ ํ์ผ์ ์ฌ์ค์ ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ git์ ์ฌ์ฉํ์ฌ ํ์ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋๋ ธ๊ณ ์ ์งํ๋์์ต๋๋ค :) ๋ต๋ณ์ ์ฃผ์ @consideRatio ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ฐ์ ๋ค์ดํฐ๋ธ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ ์ ๋ฐ์ดํธ๊ฐ ํจ๊ณผ์ ์ด์์ต๋๋ค.
๋ฐ์ ๋ฒ์ ๋๋ฌธ์ ๋๋ค. ๋ฐ์๋ ์ ๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ์์ด ์๋ํฉ๋๋ค.
getBuildPath
์์ ๋ฐํ๋ ๊ฐ์ Build/Products/${configuration}-${device}/${appName}.app
node_modules/react-native/local-cli/runIOS/runIOS.js
๋ฅผ ํธ์งํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค(์ด๊ธฐ build/
์ ๊ฑฐ
์ด๊ฒ์ #18700์ ์์ ์ฌํญ์ ๋๋๋ฆฝ๋๋ค.
๋ด ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Environment:
OS: macOS High Sierra 10.13.4
Node: 8.11.1
Yarn: 1.6.0
npm: 5.6.0
Watchman: 4.7.0
Xcode: Xcode 9.3 Build version 9E145
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.3.2 => 16.3.2
react-native: 0.55.3 => 0.55.3
์ด๊ฒ์ ๋ฐ๋ฅด๊ธฐ ์ํด #18700์ ์์ ์ฌํญ ์์ฑ์์ ๋ ผ์ํ ํ Xcode ํ๊ฒฝ ์ค์ ์ ๋น๋ ์์น๊ฐ "๊ณ ์ "๋ก ์ค์ ๋์ด ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ๋):
๊ทธ๋ฐ ๋ค์ ํ๋ก์ ํธ ์ค์ ์์ ๋น๋ ์์น๋ฅผ "Xcode ๊ธฐ๋ณธ๊ฐ"์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
์ด์ ์ฃผ์(React-Native 0.55.3, Xcode 9.3)์ ํ์๋ ํ๊ฒฝ์ผ๋ก ํด๊ฒฐ๋์์ต๋๋ค. ๋ค๋ฅธ ์ง๊ทธ์ฌ๊ทธ ํฌ์ปค๋ ํ์ํ์ง ์์์ต๋๋ค. ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์ ๊ทธ๋ ์ด๋ ๋ช ๋ น ๋ฑ์ ์คํํ์ง ๋ง์ญ์์ค. ์ด๊ฒ์ด ๋ค๋ฅธ ์ฌ๋์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์์ต๋๋ค.
rm -rf node_modules
๋ฐ rm -rf ios/build
ํ์ต๋๋ค.react-native upgrade
๋ฐ ์ผ๋ถ react native git upgrade
๋ ์๋ฃํ์ต๋๋ค. react-native๊ฐ ๊ณต์์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ์ง์ํฉ๋๋ค.์ฌ์ ํ ๊ฐ์ ์ค๋ฅ๋ก ์คํจํฉ๋๋ค.
๋ชจ๋ ๊ฒ์ ์๋ํ์ต๋๋ค! ์ ๋ ํฌ๊ธฐํ๊ณ ์ถ์ง ์์ง๋ง, ์ด๊ฑด ๋๋ฌด ์๊ฒจ! ๋ชจ๋ ์ฌ๋์ด IT WORKS
๋๊ธ์ ๋จ๊น๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฌด๊ฒ๋ ๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค :D #GLHF
react: 16.3.1
react-native-cli: 2.0.1
react-native: 0.55.3
์์ ์ด๋ ๊ฒ๋ ๋๋ฅผ ์ํด ๊ณ ์ณค์ต๋๋ค. ๋ค์์ ์ํํด์ผ ํ์ต๋๋ค.
react-native-cli ์ ๊ฑฐ ๋ฐ ์ฌ์ค์น
์ด๋ฌํ ์ ๋ฐ์ดํธ ์ค ํ๋ ์ด์์ด ๊ฒฐ๊ตญ ๋ฒ๊ทธ๋ฅผ ์์ ํ์ต๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. npm run eject
์คํ ํ ์ฑ์ด ์๋ํ์ง ์์ต๋๋ค
react-native info
Scanning folders for symlinks in /Users/ksquarelabs/dev/courses/ghost/node_modules (14ms)
Environment:
OS: macOS High Sierra 10.13.4
Node: 6.9.1
Yarn: 0.22.0
npm: 3.10.8
Watchman: Not Found
Xcode: Xcode 9.3.1 Build version 9E501
Android Studio: 2.3 AI-162.3764568
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: ~0.55.2 => 0.55.4
๋ฐ๋ผ์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์๋ ๋ช ๋ น์ ์คํํ์ฌ ์๋ํฉ๋๋ค.
cd ./ios/๋น๋
mkdir ๋น๋
CD ๋น๋
๊ทธ๋ฐ ๋ค์ ํด๋๋ฅผ ์ฌ๋ณผ๋ฆญ ๋งํฌํฉ๋๋ค.
ln -s ../์ ํ .
ln -s ../์ค๊ธ
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง react-native run-ios๊ฐ ๋ค์ ์๋ํฉ๋๋ค.
์ข์ ํ๋ฃจ ๋์ธ์ :)
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค. ๋ด ๊ฒฝ์ฐ์๋ fabric
node_module
dir์ ๊ธธ์ด๊ฐ ๋๋ฌด ๊ธธ์ด์ ๋ฃจํธ( ~
) dir์์ repo๋ฅผ ๊ฐ์ ธ ์์ ๋ค์ ์คํํ์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ ์์ด์์ต๋๋ค :) ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์์ธ์ ์์๋ ๋ถ ๊ณ์ ๊ฐ์? react-native run-ios --project-path="../"
์ ๊ฐ์ ์ฌ์ฉ์ ์ ์ ๋๋ ํ ๋ฆฌ์์ ์ฑ์ ์คํํ๋ ค๊ณ ํ ๋ ์ด๊ฒ์ ์ป์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์์ง... ๋๋์ด ์ ๋งฅ์ ์ฌ์ ํด๊ฒฐํ์ต๋๋ค.