React Nativeç°å¢æ
å ±ïŒ
ã·ã¹ãã ïŒ
OSïŒmacOS 10.14.2
CPUïŒïŒ12ïŒx64 IntelïŒRïŒCoreïŒTMïŒi9-8950HK CPU @ 2.90GHz
ã¡ã¢ãªïŒ6.76 GB / 32.00 GB
ã·ã§ã«ïŒ3.2.57- / bin / bash
ãã€ããªïŒ
ããŒãïŒ10.15.0- / usr / local / bin / node
糞ïŒ1.13.0- / usr / local / bin / yarn
npmïŒ6.4.1- / usr / local / bin / npm
SDKïŒ
iOS SDKïŒ
ãã©ãããã©ãŒã ïŒiOS 12.1ãmacOS 10.14ãtvOS 12.1ãwatchOS 5.1
IDEïŒ
Android StudioïŒ3.1 AI-173.4819257
XcodeïŒ10.1 / 10B61- / usr / bin / xcodebuild
npmPackagesïŒ
åå¿ïŒ16.6.3 => 16.6.3
åå¿ãã€ãã£ãïŒ0.57.8 => 0.57.8
npmGlobalPackagesïŒ
create-react-native-appïŒ1.0.0
react-native-cliïŒ2.0.1
react-native-git-upgradeïŒ0.2.7
--simulatoråŒæ°ã«è¿œå ããã·ãã¥ã¬ãŒã¿ãŒã«é¢ä¿ãªãããreact-nativerun-iosããéå§ã§ããªããšããåé¡ã«çŽé¢ããŠããŸãã
XCodeã«ã¯ãã³ãã³ãã©ã€ã³ããŒã«ãã®æ£ããå ŽæããããŸã
åžžã«ãšã©ãŒãçºçããŸãïŒ
iPhoneXã·ãã¥ã¬ãŒã¿ãŒãèŠã€ãããŸããã§ãã
Error: Could not find iPhone X simulator
at resolve (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:149:13)
at new Promise (<anonymous>)
at runOnSimulator (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:134:10)
at Object.runIOS [as func] (/Users/eric/.../swim/node_modules/react-native/local-cli/runIOS/runIOS.js:106:12)
at Promise.resolve.then (/Users/eric/.../swim/node_modules/react-native/local-cli/cliEntry.js:117:22)
XCodeãæåããã€ã³ã¹ããŒã«ããŸããã
çæ°ãã 'react-native new app'
'react-native run-ios'ã¯ã-simulatorãªãã·ã§ã³ã«é¢ä¿ãªããåžžã«ã·ãã¥ã¬ãŒã¿ãŒãèŠã€ãããªãããšã«ã€ããŠæå¥ãèšããŸãã
ç§ã®äžæçãªä¿®æ£ã¯å€æŽããããšã§ãïŒ
/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
42è¡ç®ïŒ
ifïŒïŒversion.startsWithïŒ ' com.apple.CoreSimulator.SimRuntimeãiOS 'ïŒ&&ïŒversion.startsWithïŒ 'tvOS'ïŒïŒ{
å€ãããŒãžã§ã³ã®ReactNativeã䜿çšããŠããããã§ãã ææ°ãªãªãŒã¹v0.58ã«æŽæ°ããŠãåé¡ããŸã ååšãããã©ããã確èªããŠãã ããã
å
ã®æçš¿ãç·šéãããšãã解決çïŒå€ãããŒãžã§ã³ãã©ãã«ãèªåçã«åé€ãããææ°ãªãªãŒã¹ã䜿çšããŠãããžã§ã¯ãã§react-native info
ãå®è¡ããçµæãåŸãããŸãã
次ã®ãããªæ°ãããããžã§ã¯ããè©ŠããŸããã
åå¿ãã€ãã£ãïŒ0.58.3 => 0.58.3
ãšåãåé¡
react-native run-ios âdevice=âXXXXXXâ
ä»ããŠãã¿ãŒã²ããã«ããã·ãã¥ã¬ãŒã¿ãŒããã€ã§ãæž¡ãããšãã§ããŸãããã§ãåãåé¡ããããŸãã
ã«å€æŽãããšã
ifïŒïŒversion.includesïŒ 'iOS'ïŒ&&ïŒversion.includesïŒ 'tvOS'ïŒïŒ{
ç¶ç¶ãã;
}
ãã¬ãã£ãã¯ã¹ãcom.apple.CoreSimulator.SimRuntimeããªã®ã§ããã¹ãŠåé¡ãããŸããã ããã€ã¹ãªã¹ãã«å«ãŸããŠããå ŽåãstartsWithã®çŽç²ãªãã§ãã¯ã¯ãã¹ãŠã®ã·ãã¥ã¬ãŒã¿ã§å€±æããŸãã
ãã®åé¡ã«ã€ããŠãã«ãªã¯ãšã¹ãhttps://github.com/facebook/react-native/pull/23293ãäœæããŸãã
ãã@osunnarvikPRãäœæããŠãããŠããããšãïŒ ãªãä»ãããèµ·ãã£ãŠããã®ãïŒããããPRã§ïŒããå°ã説æããŠããããŸããïŒ ã€ãŸãããã¬ãã£ãã¯ã¹ã¯ãã€å€æŽãããŸãããïŒ ææ°ã®Xcodeã§ã¯ïŒ ð€
PRã®èª¬æãæŽæ°ããŠãPRããã€çºçãããã«ã€ããŠå°ã説æããXCodeãšxcrunã®ããŒãžã§ã³æ å ±ãè¿œå ããŸããã
@kelsetã¯ããããã€ã¹ã®ãªã¹ãã®åœ¢åŒã¯ææ°ã®XCodeã§å€æŽããããšæããŸãã
çŽ æŽããã-ã¿ããªããããšã:)
PRã¯ãã§ã«0.58ã«ããŒãžãããŠããïŒ0.59ãªã©ã§ã¯CLIãåé¢ãããããïŒã次ã®ããããªãªãŒã¹ïŒ0.58.4ïŒã§ä¿®æ£ãããäºå®ã§ãðª
@kelset SimulatorString ïŒ @canterberryããã®ã³ã¡ã³ãïŒãæå®ããã¿ã€ãã³ã°ã«é¢ããhttps://github.com/react-native-community/react-native-cli/pull/138ã®ã³ã¡ã³ãã«æ°ã¥ããŸããã 空ã®simulatorStringã§ã®ã¿ãã§ãã¯ãã1ã€ã®ã»ããã§ã¯ãã§ãã¯ããŸããã§ããã SimulatorStringãèšå®ãããŠããå Žåãã芧ã«ãªãããå Žåã¯ãç¥ãããã ããã
ãããšããããããæååãèšå®ãããŠãããšãã«ããã§ãã¯ãè¡ãæ¹ãè¯ãã§ãããã ð€
ã¯ããææ¥ã®æèŠãŠãããŸãã
SimulatorStringã®ãããä»ãå ¥åããŒãžã§ã³ãåŠçããããã«https://github.com/facebook/react-native/pull/23305ãäœæããŸãã
@osunnarvikãã®åé¡ã¯react-nativeããŒãžã§ã³0.59.1ã§ãåŒãç¶ãçºçããŸã
次ã®è¡ã®node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒ if (!version.startsWith('iOS')
ã
ç§ã¯ãããincludes
ã«çœ®ãæããŸããïŒ if (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
ããã¯ç§ã®ããã«åããŸããããããšãã
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
çŽ æŽãããã§ããããããšã ïŒïŒ
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
ãã®ç¶æ³ãã©ã®ããã«ååšããã®ãæ¬åœã«ç解ã§ããŸãã
ãã®ä¿®æ£ã¯æ°ããããŒãžã§ã³ã§è¡ãããŸããïŒ
@evanoralphä»æ¥ãã®åé¡ãnode_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®findMatchingSimulator.js
ãå€æŽããŠã¿ãŠãã ããã
æåã«ã·ãã¥ã¬ãŒã¿ãŒãèµ·åããŠããxcrun simctl list --json devices
ãå®è¡ãã "state" : "Booted",
ã·ãã¥ã¬ãŒã¿ãŒãæ€çŽ¢ããŸãã
次ã«ã findMatchingSimulator
é¢æ°ã®äžéšã«è¿œå ããŸãã
return {
udid: <uuid from booted device>,
name: <Name of the booted simulator>,
booted: true,
version: "com.apple.CoreSimulator.SimRuntime.iOS-12-2",
}
version
ã¯ç°ãªãå ŽåããããŸãã ãã ããããã¯èµ·åãããããã€ã¹ãªããžã§ã¯ãã®èŠªããŒã§ãã ããããããã¯ä¿®æ£ã§ã¯ãããŸããïŒ ããã¯åé¿çã§ãã
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
macOS 10.14.4ã«ã¢ããããŒãããXCodeã10.2ã«ã¢ããããŒããããšããã®åé¡ãçºçãå§ããŸããã ããªãã®è§£æ±ºçã¯åœ¹ã«ç«ã¡ãŸããïŒããã¯äžæçãªè§£æ±ºçã«ãããŸãããïŒã
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
é©ãã°ããïŒ äžæçã§ãããå®å šã«æ©èœããŠããŸãã ããããšãïŒ
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
ç§ã®ããã«åãïŒ ããããšãïŒ è€æ°ã®ããŒãžã§ã³ïŒiPhone 5s iOS 10.3.1ããã³12.2ãªã©ïŒãæã€ã·ãã¥ã¬ãŒã¿ãŒãå®è¡ããå Žåããã®ä¿®æ£ã«ãããã¹ãŠã®ã·ãã¥ã¬ãŒã¿ãŒããŒãžã§ã³ãéããŸãã --simulator "iPhone 5s (10.3)"
ã䜿çšããŠããŒãžã§ã³ãå®çŸ©ã§ããŸãã
@evanoralphä»æ¥ãã®åé¡ã
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®findMatchingSimulator.js
ãå€æŽããŠã¿ãŠãã ããã
æåã«ã·ãã¥ã¬ãŒã¿ãŒãèµ·åããŠããxcrun simctl list --json devices
ãå®è¡ãã"state" : "Booted",
ã·ãã¥ã¬ãŒã¿ãŒãæ€çŽ¢ããŸãã
次ã«ãfindMatchingSimulator
é¢æ°ã®äžéšã«è¿œå ããŸããreturn { udid: <uuid from booted device>, name: <Name of the booted simulator>, booted: true, version: "com.apple.CoreSimulator.SimRuntime.iOS-12-2", }
version
ã¯ç°ãªãå ŽåããããŸãã ãã ããããã¯èµ·åãããããã€ã¹ãªããžã§ã¯ãã®èŠªããŒã§ãã ããããããã¯ä¿®æ£ã§ã¯ãããŸããïŒ ããã¯åé¿çã§ãã
åé¿çã¯ä»ã¯åé¡ãªãåäœããŠããŸãããããžã§ã¯ãã.59.0ã«æŽæ°ããå¿ èŠããããã©ããããããŸããã
node_modules / react-native / local-cli / runIOS / findMatchingSimulator.jsãæã£ãŠããªãã®ã¯ç§ã ãã§ããïŒ local-cliãã©ã«ããŒå ã«ããã®ã¯cli.jsãã¡ã€ã«ã ãã§ã-äœãã¢ã€ãã¢ã¯ãããŸããïŒ
åèãŸã§ã«ãããã¯ç§ã®ã·ã¹ãã ã§ã¯ããã®åé¡ãæ±ããŠããããšã«ã圹ç«ã€ããã§ããïŒ
xcrun simctldeleteã¯äœ¿çšã§ããŸãã
åé¡ãçºçããŸããã includes
ã«çœ®ãæãããšåœ¹ã«ç«ã¡ãŸããã ãã€ä¿®æ£ãããŸããïŒ
HHHEEEYYYY ...亀æã«ã¯äœåãå«ãŸããŠããŸã!!!!!
@Titozzzããããã€ä¿®æ£ããããã«ã€ããŠã®æŽæ°ã¯ãããŸããïŒ äžæçãªä¿®æ£ã¯ãããŒã ãgitã«é©ããæ¹æ³ã§ã¯ãããŸããã
誰ããç§ã«é²ãæ¹ãæããŠãããããç§ã¯è²¢ç®ããæºåãã§ããŠããŸãã
@Titozzz @kelset
ç§ã¯èªåã®åé¡ã調ã¹ããšãããOPã«ãã£ãŠããã«æ瀺ãããŠããå¥ã®åé¡ã§ããããšãããããŸããã
åé¡ã¯ãiPadã§ã¢ããªãå®è¡ããå¿
èŠãããããšã§ãããŸããiPadã®ååã«ã¯ãæ¬åŒ§å
ã®ããã€ã¹ãµã€ãºãå«ãŸããŠããããã§ãã iPad Pro (9.7-inch)
ãCLIã³ãŒãã¯ãæ¬åŒ§å
ã®ããã€ã¹ãµã€ãºãiOSã©ã³ã¿ã€ã ããŒãžã§ã³ã§ããããšãåæãšããŠããŸãã
ã©ã³ã¿ã€ã iOSããŒãžã§ã³ã«ã¯å¥ã®åŒæ°ã䜿çšããããã©ã³ã¿ã€ã ããŒãžã§ã³ãæ€åºããããã«å¥ã®ãã©ã±ããã¿ã€ãã䜿çšããããšããå§ãããŸãã
ç§ã®RNããŒãžã§ã³ã¯0.59.3ã§ã
ããã«ã¡ã¯ã質åã«ãçãããã ããŸããïŒ
node_modules / react-native / local-cli / runIOS / findMatchingSimulator.jsãæã£ãŠããªãã®ã¯ç§ã ãã§ããïŒ local-cliãã©ã«ããŒå ã«ããã®ã¯cli.jsãã¡ã€ã«ã ãã§ã-äœãã¢ã€ãã¢ã¯ãããŸããïŒ
@lpfunding hereïŒ node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js
ç§ã®ã¡ãã»ãŒãžãã芧ããã ããŠããããã§ãïŒ ç¬¬äºã«ããè¿äºããããšãããããŸãïŒ ããããç§ã®Xcodeã¯ããŒãžã§ã³8.1ã§ãããXã«å ããŠXcodeã·ãã¥ã¬ãŒã¿ãŒããããŸãããã³ã³ãã€ã«ãããšãã¿ãŒããã«ãšã©ãŒã§ã·ãã¥ã¬ãŒã¿ãŒãèŠã€ãããŸããïŒ å€ãã®å Žæã§ã³ã³ãã€ã«æ¡ä»¶ãå€æŽããŸããããåé¡ã解決ã§ããªãã£ãã®ã§ãå©ããæ±ããã¡ãã»ãŒãžãæ®ããŸããã
ããã¯äºå®äžã®ä¿®æ£ã§ããïŒ ãŸãã¯ãªãŒãã³PRã¯ãããŸããïŒ
ããã¯0.58.6ã§ç§ã®ããã«åããŠããŸãã ã³ããã9a8c9596ebe41e27d37ba18d6bf09f1c931c1ff2ã§ä¿®æ£ãããããã§ãð
ããã¯ãreact-nativeãv59ã«ã¢ããã°ã¬ãŒããããšãã«æ©èœããŸã
ç§ã®åé¡ã¯ãXCode 10.2.1ã䜿çšããŠããå ŽåïŒç§ã®ããã«ïŒãAppleãiPhoneXRã·ãã¥ã¬ãŒã¿ã®ååãiPhoneXã«å€æŽããããšã«é¢ä¿ããŠãããšæããŸãïŒå€§ããªãRããšå°ããªãÊãã«æ³šæããŠãã ããïŒãããã£ãŠãæ°ããååãå€æŽãããã·ãã¥ã¬ãŒã¿ãŒãã¿ãŒã²ããã«ããå Žåã¯ã react-native run-ios --simulator="iPhone XÊ"
ãŸãã ããããšãã¢ããã«...
@ lcastillo88ãããããããã£ããã ããªããŠå¥åŠãªå€åã ð
iPad Proã·ãã¥ã¬ãŒã¿ãŒãå®è¡ããããšããŠããããã«ããã«èŠåŽããŠãã人ã«ãšã£ãŠãåé¡ã¯findMatchingSimulator.js
ããæ¬åŒ§å
ã®ãã¹ãŠãå®è¡ããããšããŠããã·ãã¥ã¬ãŒã¿ãŒã®iOSããŒãžã§ã³ã§ãããšèŠãªããšããããšã§ãã ã€ãŸããiOSããŒãžã§ã³10.5-inch
ïŒãŸãã¯å®è¡ããããšããŠããã·ãã¥ã¬ãŒã¿ãŒïŒã§iPad Pro
ã·ãã¥ã¬ãŒã¿ãŒãéãããšããŠããŸãã æãããªçç±ã§ãããã¯æ©èœããŸããã
æä¹ çãªä¿®æ£ãå®è£ ããããŸã§ã®ããã«å¯Ÿããæãç°¡åãªåé¿çã¯ãã·ãã¥ã¬ãŒã¿ãŒã®ååãæ¬åŒ§ãå«ãŸãªãååã«å€æŽããããšã§ãã Xcodeã§ã[ãŠã£ã³ããŠ]> [ããã€ã¹ãšã·ãã¥ã¬ãŒã¿ãŒ]ãã¯ãªãã¯ãã[ã·ãã¥ã¬ãŒã¿ãŒ]ã¿ããã¯ãªãã¯ããŠããã䜿çšããŠããã·ãã¥ã¬ãŒã¿ãŒãå³ã¯ãªãã¯ããŠååãå€æŽããŸãã
RNãã¢ããã°ã¬ãŒãã§ããªãããããèªååãããä¿®æ£ãå¿ èŠãªå Žåã¯ããã¹ãã€ã³ã¹ããŒã«ã§æ¬¡ã®ã·ã§ã«ã¹ã¯ãªããã䜿çšã§ããŸãã
sed -i '' 's/startsWith/includes/g' node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ããã«ãããCIãµãŒããŒã§èªååãã¹ããå®è¡ã§ããããã«ãªããŸããã
ç§ãäœããèŠéããŠããªãããšã確èªããããã«ïŒ0.59ã䜿çšããŠããå Žåããã®åé¡ã¯ä¿®æ£ãããŠããŸããæ£ããã§ããïŒ
ç¹ã«iPadProã·ãã¥ã¬ãŒã¿ãŒïŒãŸãã¯æ¬åŒ§å ã«iOSããŒãžã§ã³ä»¥å€ã®ãã®ãå«ãä»ã®ã·ãã¥ã¬ãŒã¿ãŒïŒã®å Žåãããã¯ææ°ããŒãžã§ã³ã®react-nativeã§ã¯ãŸã å£ããŠããŸãã
ãã®ã·ããªãªãé€ãã°ãããã¯ããŸãæ©èœããŠããŸãã
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
ä¿¡ããããªããããããšã
誰ããæå®ãããiOSããŒãžã§ã³ã§å®è¡ããå¿
èŠãããå ŽåïŒ
react-native run-ios --simulator="iPhone 8 (12-0)"
以åã¯(12.0)
ããxcodeã10.2.1
ã«æŽæ°ããåŸã 12-0
ã«å€æŽãããŸãã
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã
ããã¯ç§ã®ããã«åãããããããšã
ã§ãåé¡ã説æããŠãããŸããã
@kelset
ç§ãäœããèŠéããŠããªãããšã確èªããããã«ïŒ0.59ã䜿çšããŠããå Žåããã®åé¡ã¯ä¿®æ£ãããŠããŸããæ£ããã§ããïŒ
0.59.8ã«ã¢ããã°ã¬ãŒããããšãããåäœããŸã[ react-native-git-upgrade
çµç±ã§ã¢ããã°ã¬ãŒã]
RNãã¢ããã°ã¬ãŒãã§ããªãããããèªååãããä¿®æ£ãå¿ èŠãªå Žåã¯ããã¹ãã€ã³ã¹ããŒã«ã§æ¬¡ã®ã·ã§ã«ã¹ã¯ãªããã䜿çšã§ããŸãã
sed -i '' 's/startsWith/includes/g' node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ããã«ãããCIãµãŒããŒã§èªååãã¹ããå®è¡ã§ããããã«ãªããŸããã
ããã¯ç§ã®ããã«åãã
ããã¯ãŸã 䜿çšããŠãã人ã«ãšã£ãŠåœ¹ç«ã€ãããããŸãã
"react-native"ïŒ "0.52.1"
以äžã®å€æŽã§ãããä¿®æ£ããŸããã
ãã®ãã¹ã«ç§»åããŸãã
node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js
å€æŽïŒç§ã«ãšã£ãŠã¯è¡çªå·ã¯30ã§ããïŒ
if (version.indexOf('iOS') !== 0)
ã«if (version.indexOf('iOS') === -1)
ç§ã¯[email protected]ã䜿çšããŠã
ããã«ãããç§ãèŠã解æã®åé¡ãä¿®æ£ãããããã§ãã
$ react-native run-ios --simulator = "iPhone_8"
ããŒã«ã«ã§æ¬¡ã®å€æŽãè¡ããŸããã
function findMatchingSimulatorïŒsimulatorsãsimulatorStringïŒ{
ifïŒïŒsimulators.devicesïŒ{
nullãè¿ããŸãã
}
constããã€ã¹= simulators.devices;
SimulatorString = SimulatorString.replaceïŒ '_'ã ''ïŒ
ä»æ¥ãç§ã¯ãããrunIOS/findMatchingSimulator.js
ä¿®æ£ããŸããã ðç§ã¯è¡ãå€æŽããŸããif (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
ã«
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) {
ã
isAvailable
ããããã£ã¯ãããã€ã¹ãªã¹ãã®YES
/ NO
ã§ã¯ãªãéåžžã®ããŒã«å€ãè¿ãããã§ãã
ã¡ãªã¿ã«ãXcode 11 Betaãã€ã³ã¹ããŒã«ããåŸããã®åé¡ãçºçããŸããã
react-native-cliïŒ2.0.1
åå¿ãã€ãã£ãïŒ0.59.9
ã·ãã¥ã¬ãŒã¿ãŒãèŠã€ãããªãã®ãšåããšã©ãŒãçºçããŸããã
åå ïŒreact-native run-iosãå®è¡ããŠããå Žåãããã©ã«ãã®ã·ãã¥ã¬ãŒã¿åã¯iPhoneXã§ãããããã¯ãŸã£ããååšããŸããã iPhoneXã®ååã¯ãiPhoneXsãiPhoneXs MaxããŸãã¯iPhoneXRã®ããããã§ãã
解決çïŒnode_modules /@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.jsã®ã³ãŒããå€æŽããŸã
// change this line
// it was if (simulator.name ===simulatorName && !match) {
if (simulator.name.includes(simulatorName) && !match) {
match = {
udid: simulator.udid,
name: simulator.name,
booted,
version
};
} // Keeps track of the first available simulator for use if we can't find one above.
ç§ã®ãããžã§ã¯ãã¯ãŸã ãreact-nativeãã䜿çšããŠããŸãïŒã0.53.3ããããŠç§ã«ãšã£ãŠreact-nativenode_modulesãã©ã«ããŒã®ãfindMatchingSimulator.jsãã®ã³ãŒãã¯
if (version.indexOf('iOS') != 0) {
continue;
}
ãããä¿¡ããããšãã§ããªãã
ããã§ãåãåé¡ããããŸãã
ã«å€æŽãããšã
ifïŒïŒversion.includesïŒ 'iOS'ïŒ&&ïŒversion.includesïŒ 'tvOS'ïŒïŒ{
ç¶ç¶ãã;
}ãã¬ãã£ãã¯ã¹ãcom.apple.CoreSimulator.SimRuntimeããªã®ã§ããã¹ãŠåé¡ãããŸããã ããã€ã¹ãªã¹ãã«å«ãŸããŠããå ŽåãstartsWithã®çŽç²ãªãã§ãã¯ã¯ãã¹ãŠã®ã·ãã¥ã¬ãŒã¿ã§å€±æããŸãã
ããããšãããã¯ç§ã®ããã«åãã
ããã§ãåãåé¡ããããŸãã
ã«å€æŽãããšã
ifïŒïŒversion.includesïŒ 'iOS'ïŒ&&ïŒversion.includesïŒ 'tvOS'ïŒïŒ{
ç¶ç¶ãã;
}ãã¬ãã£ãã¯ã¹ãcom.apple.CoreSimulator.SimRuntimeããªã®ã§ããã¹ãŠåé¡ãããŸããã ããã€ã¹ãªã¹ãã«å«ãŸããŠããå ŽåãstartsWithã®çŽç²ãªãã§ãã¯ã¯ãã¹ãŠã®ã·ãã¥ã¬ãŒã¿ã§å€±æããŸãã
ããã«ã¡ã¯ãç§ã®node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã¯ååšããŸãã
@ topik96ããããã§ãã¯ããŠãã ããã
node_modules /@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js
泚ïŒäžèšã®ä¿®æ£ã¯ç§ã«ã¯æ©èœããŸããã§ããã ç§ãããããšïŒ
xcrun simctl list devices
react-native run-ios --simulator='iPad Pro (9.7-inch) (12.2)
ã iOSããŒãžã§ã³ã«æ³šç®ããŠãã ããã以åã¯ãå®è¡ã³ãã³ãã§iOSããŒãžã§ã³ã«ã€ããŠèšåããŠããŸããã§ããã
å©çšå¯èœãªã·ãã¥ã¬ãŒã¿ãŒã®ãã§ãã¯ã¯æ¬¡ã®ããã«ãªããŸãã
Simulator.isAvailableïŒ== true
ç§ã®åé¡ã¯ãXCode 10.2.1ã䜿çšããŠããå ŽåïŒç§ã®ããã«ïŒãAppleãiPhoneXRã·ãã¥ã¬ãŒã¿ã®ååãiPhoneXã«å€æŽããããšã«é¢ä¿ããŠãããšæããŸãïŒå€§ããªãRããšå°ããªãÊãã«æ³šæããŠãã ããïŒãããã£ãŠãæ°ããååãå€æŽãããã·ãã¥ã¬ãŒã¿ãŒãã¿ãŒã²ããã«ããå Žåã¯ã
react-native run-ios --simulator="iPhone XÊ"
ãŸãã ããããšãã¢ããã«...
ç§ã®ããã«åããã THXã
ããã§ãåãåé¡ããããŸãã
ã«å€æŽãããšã
ifïŒïŒversion.includesïŒ 'iOS'ïŒ&&ïŒversion.includesïŒ 'tvOS'ïŒïŒ{
ç¶ç¶ãã;
}ãã¬ãã£ãã¯ã¹ãcom.apple.CoreSimulator.SimRuntimeããªã®ã§ããã¹ãŠåé¡ãããŸããã ããã€ã¹ãªã¹ãã«å«ãŸããŠããå ŽåãstartsWithã®çŽç²ãªãã§ãã¯ã¯ãã¹ãŠã®ã·ãã¥ã¬ãŒã¿ã§å€±æããŸãã
ããããšãïŒãç§ã®ããã«åããïŒ
ããã§ãåãåé¡ããããŸãã
ã«å€æŽãããšã
ifïŒïŒversion.includesïŒ 'iOS'ïŒ&&ïŒversion.includesïŒ 'tvOS'ïŒïŒ{
ç¶ç¶ãã;
}
ãã¬ãã£ãã¯ã¹ãcom.apple.CoreSimulator.SimRuntimeããªã®ã§ããã¹ãŠåé¡ãããŸããã ããã€ã¹ãªã¹ãã«å«ãŸããŠããå ŽåãstartsWithã®çŽç²ãªãã§ãã¯ã¯ãã¹ãŠã®ã·ãã¥ã¬ãŒã¿ã§å€±æããŸããããã«ã¡ã¯ãç§ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã¯ååšããŸãã
React Nativeã®æŽæ°ããŒãžã§ã³ã§æ°ããCLIã䜿çšããŠããå Žåã¯ã代ããã«ããã«è¡šç€ºãããŸãã
node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js
ä»æ¥ãç§ã¯ããã
runIOS/findMatchingSimulator.js
ä¿®æ£ããŸããã ðç§ã¯è¡ãå€æŽããŸããif (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
ã«
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) {
ã
isAvailable
ããããã£ã¯ãããã€ã¹ãªã¹ãã®YES
/NO
ã§ã¯ãªãéåžžã®ããŒã«å€ãè¿ãããã§ãã
ã¡ãªã¿ã«ãXcode 11 Betaãã€ã³ã¹ããŒã«ããåŸããã®åé¡ãçºçããŸããã
11ããŒã¿çãã€ã³ã¹ããŒã«ããŸããã ãã®ã¹ã¯ãªããã¯YES
ãštrue
äž¡æ¹ãåæã«ãã§ãã¯ããå¿
èŠããããšæããŸããïŒ
åé¡ã解決ã§ãããããã«è§£æ±ºçãå¿ èŠã ã£ãã®ã§ãç§ã¯ç°¡åãªä¿®æ£ãããã¯ããŸããã
console.logããã€ã¹ããã°ã«èšé²ãããªã¿ãŒã³ããããã³ã°ããŸãã
findMatchingSimulator.js
if(match) {return match}
çŽå
è¿åãããŒãã³ãŒãã£ã³ã°ããŸãã
return {
udid: 'BFBD0FA0-3104-4401-80BE-DC54CD7E3895',
name: 'iPhone X',
version: 'com.apple.CoreSimulator.SimRuntime.iOS-12-4'
}
ããã§ãåãåé¡ããããŸãã
ã«å€æŽãããšã
ifïŒïŒversion.includesïŒ 'iOS'ïŒ&&ïŒversion.includesïŒ 'tvOS'ïŒïŒ{
ç¶ç¶ãã;
}ãã¬ãã£ãã¯ã¹ãcom.apple.CoreSimulator.SimRuntimeããªã®ã§ããã¹ãŠåé¡ãããŸããã ããã€ã¹ãªã¹ãã«å«ãŸããŠããå ŽåãstartsWithã®çŽç²ãªãã§ãã¯ã¯ãã¹ãŠã®ã·ãã¥ã¬ãŒã¿ã§å€±æããŸãã
é©ãã°ããã ããã¯é åã®ããã«æ©èœããŸãã ããããšãïŒ
ãã®ãšã©ãŒã衚瀺ãããå ŽåïŒ
error Could not find "iPhone X" simulator. Run CLI with --verbose flag for more details.
ãã®ç°¡åãªè§£æ±ºçã«ã€ããŠã®ç§ã®ã³ã¡ã³ããããã§åç §ããŠãã ããïŒ
ãšã©ãŒiPhoneXã·ãã¥ã¬ãŒã¿ãŒïŒ418ãèŠã€ãããŸããã§ãã
sed -i '' 's / startsWith / includes / g' node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js
ç§ã®ããã«ä¿®æ£ããŸãã
ç§ã®ããã«ä»¥äžã®ã¹ãããä¿®æ£ã«åŸã£ãŠãã ãã
åå¿ãã€ãã£ãïŒ0.52.3
ãã¡ã€ã«ãéã
ã³ãŒã./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
version.indexOfïŒ 'iOS'ïŒã眮ãæããŸãïŒ== 0
toïŒversion.includesïŒ 'iOS'ïŒ
ãã®åé¡ã¯ãéå»4ãæéããã³ãµãŒããŒããŒãžã§ã³ã®RNã§çºçããŠããŸãã éåžžãããçš®ã®æŽæ°åŸã ããã¯æ¯åç§ã®çç£æ§ãå·ã€ããŸãã
ãžã ãããRNãããžã§ã¯ãå
ã«RNãããžã§ã¯ãããªãããšã確èªããŸãããïŒãã¡ã€ã«
ã·ã¹ãã çã«ïŒïŒ ãã®å Žåã¯ã1ã€ã®ãã©ã«ããŒããšã«1ã€ã®ãããžã§ã¯ããäœæããŠã¿ãŠãã ããã ããã¯äœ
ç§ã«èµ·ããã2çªç®ã®ãããžã§ã¯ããç¬ç«ãããã©ã«ãã«åé€ãããš
ïŒRN initã䜿çšïŒã ãããããªããå©ããããšãé¡ã£ãŠããŸã:)
2019幎9æ21æ¥åææ¥18:28ãžã ããŒã«[email protected]ã¯æžããïŒ
ãã®åé¡ã¯ãéå»4ãæã®éã«çºçããŠããŸãã
ããã³ãµãŒããŒããŒãžã§ã³ã®RNã éåžžãããçš®ã®æŽæ°åŸã ãã
æ¯åç§ã®çç£æ§ãå·ã€ããŸããâ
ããªããã³ã¡ã³ãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/facebook/react-native/issues/23282?email_source=notifications&email_token=ADA33H7VQA5DPUSQO6ILB6DQKY4TLA5CNFSM4GUBJ5D2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXH
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/ADA33H56N5ML47724MTTPFTQKY4TLANCNFSM4GUBJ5DQ
ã
iPhone Xã·ãã¥ã¬ãŒã¿ãŒã¯ãµããŒããããªããªããŸãããïŒ ç§ã¯ãã®åé¡ã«ééããå®è¡ããããšã«ãã£ãŠãããä¿®æ£ããŸãã-simulator="iPhone 11 Pro"
@ reza-hashemiã®èŠ³å¯çµæã確èªããXcode 11.0ïŒ11A420aïŒãã€ã³ã¹ããŒã«ããŠinstruments -s devices
ãå®è¡ãããšãIPhone Xããªã¹ããããªããªããŸããã --simulator
ãã©ã°ã䜿çšããŠä»ã®ã·ãã¥ã¬ãŒã¿ãŒãæäŸãããšæ©èœããŸãã
æ°ããããŒãžã§ã³ã®xCodeã«ã¯ãããã©ã«ãã§iPhoneXã·ãã¥ã¬ãŒã¿ãŒãè¿œå ãããŠããªãããã§ãã ã·ãã¥ã¬ãŒã¿ãxCodeã«è¿œå ãçŽãããšã§ãåœé¢ã¯åé¡ãä¿®æ£ããããšãã§ããŸãã æçµçã«ã¯ãCLIãiPhone11ã䜿çšããããã«æŽæ°ããå¿ èŠããããŸãã
Xcode 11ã«ã¢ããã°ã¬ãŒãããåŸããšã©ãŒãçºçããŸã
ããiPhoneXãã·ãã¥ã¬ãŒã¿ãŒãèŠã€ãããŸããã§ãããã
ç°¡åãªä¿®æ£...
Xcode->èšå®->ã³ã³ããŒãã³ãã¯ios12.2sumulatorãã€ã³ã¹ããŒã«ããŸã
@brorosã®æé ã§ä¿®æ£ãããŸããã ãã®åé¡ã¯XCodeã®ã¢ããã°ã¬ãŒãåŸã«å§ãŸããŸããããã·ãã¥ã¬ãŒã¿ãŒãééãããšãå¥ã®ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸããã
error: Multiple commands produce '/ios/build/Debug-iphonesimulator/mobile.app/Zocial.ttf':
1) Target 'mobile' (project 'mobile') has copy command from '/node_modules/react-native-vector-icons/Fonts/Zocial.ttf' to '/mobile/ios/build/Debug-iphonesimulator/mobile.app/Zocial.ttf'
2) That command depends on command in Target 'mobile' (project 'mobile'): script phase â[CP] Copy Pods Resourcesâ
ãã®2çªç®ã®ãšã©ãŒã»ãããä¿®æ£ããã«ã¯ãXcode->ãã¡ã€ã«->ã¯ãŒã¯ã¹ããŒã¹èšå®->ãã«ãã·ã¹ãã ->ïŒã¬ã¬ã·ãŒã«èšå®ïŒã§iOSãããžã§ã¯ããéãå¿ èŠããããŸããã
Xcodeã10ãã11ã«ã¢ããã°ã¬ãŒãããåŸããiPhoneXã·ãã¥ã¬ãŒã¿ãŒããšã©ãŒãçºçããŸããã ãã®ã¹ã¬ãããä»ã®ã¹ã¬ããã§èŠã€ãã£ãããã€ãã®ã¹ã¯ãªãããè©ŠããŸãããã圹ã«ç«ã¡ãŸããã§ããã ã¿ãŒããã«ã«èŠåãããå Žåã¯ã npm audit fix
è©ŠããŠãã ããã ç§ã®ããã«è§£æ±ºããŸããããããŠç§ã¯ä»åé¡ãªãèµ·åããŸãã
xcode11ã«æŽæ°ãããŸãããããã€ã¹ãèŠã€ãããŸããã§ããã
åé¡ã¯ãã€ã³ã¹ããŒã«ãããŠããããã€ã¹ãèŠã€ããããã«ã¹ã¯ãªããã«ãã£ãŠäœ¿çšãããxcrun simctl list --json devices
ã®åºåã解éããããšã§ãã
findMatchingSimulatorã®ã³ãŒãã«å
¥ããŸããã èšèŒãããŠããç¶æ
ã§
if (
simulator.availability !== '(available)' &&
simulator.isAvailable !== 'YES'
) {
continue
}
isAvailableã®æ°ãã圢åŒãè¿œå ããŸããïŒããã¯çŸåšãåçŽãªããŒã«å€ã§ãïŒïŒ
if (
simulator.availability !== '(available)' &&
simulator.isAvailable !== 'YES' &&
simulator.isAvailable !== true
) {
continue
}
ããã¯ç©äºãæŽçããŸããã
xcode11ã«æŽæ°ãããŸãããããã€ã¹ãèŠã€ãããŸããã§ããã
åé¡ã¯ãã€ã³ã¹ããŒã«ãããŠããããã€ã¹ãèŠã€ããããã«ã¹ã¯ãªããã«ãã£ãŠäœ¿çšãããxcrun simctl list --json devices
ã®åºåã解éããããšã§ãã
findMatchingSimulatorã®ã³ãŒãã«å ¥ããŸããã èšèŒãããŠããç¶æ ã§if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' ) { continue }
isAvailableã®æ°ãã圢åŒãè¿œå ããŸããïŒããã¯çŸåšãåçŽãªããŒã«å€ã§ãïŒïŒ
if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' && simulator.isAvailable !== true ) { continue }
ããã¯ç©äºãæŽçããŸããã
ããã«ã¡ã¯ã findMatchingSimulatorã®å Žæã説æããŠããã ããŸããïŒ
ããããšã@galkahana ã
ããã¯ç§ã®ããã«åããã
@TchernyavskyDaniilãã¡ã€ã«ã¯ãããžã§ã¯ããã©ã«ããŒnode_modulesã«ãããŸã./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js
ããããšã@galkahana ã
ããã¯ç§ã®ããã«åããã
@TchernyavskyDaniilãã¡ã€ã«ã¯ãããžã§ã¯ããã©ã«ããŒnode_modulesã«ãããŸã./node_modules/\@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js
ããªããæå³ããïŒ
/ cli-platform-IOS / ...ïŒ
ç§ã¯ããªãã®éãèŠã€ããããšãã§ããŸããïŒrunIOSïŒïŒC
RN 60.4
@TchernyavskyDaniilç§ã¯
ãããžã§ã¯ããã©ã«ãã®ã³ãã³ãã©ã€ã³ããfind . -iname findMatchingSimulator.js
ãå®è¡ã§ããŸããïŒ
ãã¹ã«@ãèŠã€ãã£ãå Žåã¯ããã®åã«ããã¯ã¹ã©ãã·ã¥ãè¿œå ããvimãŸãã¯å¥ã®ãšãã£ã¿ãŒã䜿çšããŠéããŸãã
@TchernyavskyDaniilç§ã¯
ãããžã§ã¯ããã©ã«ãã®ã³ãã³ãã©ã€ã³ããfind . -iname findMatchingSimulator.js
ãå®è¡ã§ããŸããïŒ
ãã¹ã«@ãèŠã€ãã£ãå Žåã¯ããã®åã«ããã¯ã¹ã©ãã·ã¥ãè¿œå ããvimãŸãã¯å¥ã®ãšãã£ã¿ãŒã䜿çšããŠéããŸãã
ããã
./node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/findMatchingSimulator.js
ã¯ãããã£ãŠã¿ãŸã
ããiPhoneXãã·ãã¥ã¬ãŒã¿ãŒãèŠã€ãããŸããã§ãããã
ããŒã¹:)
XCode11ã§ãã®ãšã©ãŒãçºçããŸãããœãããŠã§ã¢ã¢ããããŒãã«ç¥ã®ãå è·ãïŒ
@ react-native-community / cliã1.9.8ã«æŽæ°ã§ããŸãhttps://github.com/react-native-community/cli/pull/414#issuecomment-499483963
@maxkomarychev
react-native --version
react-native-cli: 2.0.1
react-native: 0.59.8
@maxkomarychev @react-native-community/[email protected]
ã䜿çšããŠããŠããã®åé¡ãçºçããŠããŸãã
@galkahanaããããšãã ããã¯ããŸããã£ãã ãããã node_modules
ã¯èŽåœçãªãããã³ã°ã§ãããé¿ããå¿
èŠããããŸãã ãã®ããã®PRãäžããå¿
èŠããããŸã
- ã䜿ãã®ãã·ã³ã«ã€ã³ã¹ããŒã«ãããŠããiOSã·ãã¥ã¬ãŒã¿ãŒã確èªã§ããŸããïŒ
react-native run-ios âdevice=âXXXXXXâ
ä»ããŠãã¿ãŒã²ããã«ããã·ãã¥ã¬ãŒã¿ãŒããã€ã§ãæž¡ãããšãã§ããŸã
xcodeã«iphoneXããã€ã¹ãã€ã³ã¹ããŒã«ããã ãã§ã
æ°ããé»è©±ã·ãã¥ã¬ãŒã¿ãŒãè¿œå ããããã€ãã®å€ããã®ãåé€ããæè¿ã®Xcodeã¢ããããŒãåŸã®åããšã©ãŒïŒ
ããã誰ããå©ããããšãé¡ã£ãŠããŸã...
äžèšã®@dmurchieã®æé ãå®è¡ããŠããšã©ãŒãçºçããå Žåã¯ã @react-native-community/cli
ãæŽæ°ããå¿
èŠããããŸãã
ãããè¡ãã«ã¯ã次ã®æé ã«åŸããŸãã
https://github.com/react-native-community/cli#updating -the-cli
xcode11ã«æŽæ°ãããŸãããããã€ã¹ãèŠã€ãããŸããã§ããã
åé¡ã¯ãã€ã³ã¹ããŒã«ãããŠããããã€ã¹ãèŠã€ããããã«ã¹ã¯ãªããã«ãã£ãŠäœ¿çšãããxcrun simctl list --json devices
ã®åºåã解éããããšã§ãã
findMatchingSimulatorã®ã³ãŒãã«å ¥ããŸããã èšèŒãããŠããç¶æ ã§if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' ) { continue }
isAvailableã®æ°ãã圢åŒãè¿œå ããŸããïŒããã¯çŸåšãåçŽãªããŒã«å€ã§ãïŒïŒ
if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' && simulator.isAvailable !== true ) { continue }
ããã¯ç©äºãæŽçããŸããã
é©ãã°ããã ããã¯é åã®ããã«æ©èœããŸãã ããããšã
@TchernyavskyDaniilããªãã¯ç§ã®æéãç¯çŽããŸãã ãããªã«TksïŒ
RN 0.58.3
Xcode 11
ãã®åé¡ãçºçããŠããŸãã
以äžã®æé ã«åŸã£ãŠããã®åé¡ãä¿®æ£ããŠãã ããã
code ./node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
亀æ
Simulator.availabilityïŒ== 'ïŒå©çšå¯èœïŒ'
ã«
Simulator.availabilityïŒ== 'ïŒå©çšå¯èœïŒ' &&
Simulator.isAvailableïŒ== 'ã¯ã' &&
Simulator.isAvailableïŒ== true
react-native run-ios
å®è¡ããŸãxcrun simctl list devices
react-native run-ios --configuration Debug --simulator='Your simulator' --scheme 'Your Scheme'
react-native run-ios --configuration Debug --simulator='iPhone 11 Pro Max' --scheme 'HelloWorld'
ç§ã®ããã«åãå¥ã®ãªãã·ã§ã³ã
# to find what simulators you have
xcrun simctl list
# to run a specific simulator
rn run-ios --simulator "iPhone 11"
xcode11ã«æŽæ°ãããŸãããããã€ã¹ãèŠã€ãããŸããã§ããã
åé¡ã¯ãã€ã³ã¹ããŒã«ãããŠããããã€ã¹ãèŠã€ããããã«ã¹ã¯ãªããã«ãã£ãŠäœ¿çšãããxcrun simctl list --json devices
ã®åºåã解éããããšã§ãã
findMatchingSimulatorã®ã³ãŒãã«å ¥ããŸããã èšèŒãããŠããç¶æ ã§if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' ) { continue }
isAvailableã®æ°ãã圢åŒãè¿œå ããŸããïŒããã¯çŸåšãåçŽãªããŒã«å€ã§ãïŒïŒ
if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' && simulator.isAvailable !== true ) { continue }
ããã¯ç©äºãæŽçããŸããã
ããã¯ç§ã®ããã®ä»äºã§ãã
ããããšãïŒ
ããã«ã¡ã¯ãã¿ããªã
node_modulesãã£ã¬ã¯ããªã®ãœãŒã¹ã³ãŒããå€æŽããã«ä»ã®è§£æ±ºçãèŠã€ããŸããã
ã¹ã¯ãªãŒã³ã·ã§ãããå¿ èŠãªå Žåã¯ããã®æ¹æ³ãæããŠãã ããã
ã¡ãªã¿ã«ãããã¯githubã§ã®ç§ã®æåã®ã³ã¡ã³ããªã®ã§ãããã§ãšãããããŸã:)
ããããšãããããŸããã
@ilkinnamazovãœãªã¥ãŒã·ã§ã³ã®ã¹ã¯ãªãŒã³ã·ã§ãããéã£ãŠ
iOSãã©ã«ãã«ãã.xcodeprojãã¡ã€ã«ãéããšãXcode IDEãèµ·åããããã§ç¹å®ã®ã·ãã¥ã¬ãŒã¿ãéžæã§ããããã«ãªããŸãã
以äžã®ã¹ã¯ãªãŒã³ã·ã§ãããåç
§ããŠãã ããã
ãã®ãªã¹ãããããã€ã¹ãéžæã§ããŸãã
ãã ããiPhone Xã衚瀺ãããªãå Žåã¯ãããã€ã¹ã®ãªã¹ãã«ç°¡åã«è¿œå ã§ããŸãã
ãäžæãªç¹ãããããŸãããããæ°è»œã«ãåãåãããã ããã
ããããšãã
XCodeã«iPhoneXã·ãã¥ã¬ãŒã¿ãŒãè¿œå ããŠãæ©èœããªãå Žå
yarn
ãŸãã¯npm install
XCodeã«iPhoneXã·ãã¥ã¬ãŒã¿ãŒãè¿œå ããŠãæ©èœããªãå Žå
- node_modulesãåé€ããŸã
- 糞.lockãŸãã¯package-lock.jsonãåé€ããŸã
yarn
ãŸãã¯npm install
ããã¯ãã¡ã€ã«ã®åé€ã¯ãç¹å®ã®ç¶æ³äžã§åé¡ã«ãªãå¯èœæ§ããããŸãã æ éã«è¡ã
ç¹å®ã®ããã€ã¹ãå®è¡ãããã ãã®å Žåã ã·ãã¥ã¬ãŒã¿ãªã¹ãã«ãªãå¯èœæ§ããããŸãã ããã€ã¹ãè¿œå ããã«ã¯ã次ã®æé ãå®è¡ããŸãã
1ïŒXcodeãéããŸã
2ïŒ Command+Shift+2
æŒããšã[ããã€ã¹ãšã·ãã¥ã¬ãŒã¿ãŒ]ãªãã·ã§ã³ãéããŸãã
3ïŒ[ã·ãã¥ã¬ãŒã¿ãŒ]ã¿ãã«ç§»åããå·Šäžã®+ã¢ã€ã³ã³ãæŒããŠãiPhoneXãŸãã¯å¿
èŠãªäžè¶³ããŠããããã€ã¹ãè¿œå ããŸãã
ãã®è§£æ±ºçããã²ãè©Šããã ããã ããã¯ããªãã®ããã«åããããããŸããã
https://github.com/facebook/react-native/issues/24450#issuecomment -516760157
ç§ã¯ãããæãç°¡åã ãšæããŸããã
react-native run-ios --simulator "iPhone 11 Pro Max"
ããã¯ç§ã«ãšã£ãŠããåé¡ã§ã¯ãªãããã§ãã ãã¶ãããã®éã«ããã€ãã®æŽæ°ããããä¿®æ£ããŸãããïŒ
@danielcampoã®CLIã®ã¢ããã°ã¬ãŒãã®
ãããpackage.jsonã«è¿œå ããå¿
èŠããããŸããïŒ
"@react-native-community/cli": "@^1.12.0",
ã¯ãäœããã®çç±ã§ãããã¯ããªããšããŒã¹ã1.11.2ãã¢ããã°ã¬ãŒãã§ããªãããã§ãã
ä»ã§ã¯åé¡ãªãã·ãã¥ã¬ãŒã¿ãŒãèŠã€ããŸãã
xcode11ã«æŽæ°ãããŸãããããã€ã¹ãèŠã€ãããŸããã§ããã
åé¡ã¯ãã€ã³ã¹ããŒã«ãããŠããããã€ã¹ãèŠã€ããããã«ã¹ã¯ãªããã«ãã£ãŠäœ¿çšãããxcrun simctl list --json devices
ã®åºåã解éããããšã§ãã
findMatchingSimulatorã®ã³ãŒãã«å ¥ããŸããã èšèŒãããŠããç¶æ ã§if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' ) { continue }
isAvailableã®æ°ãã圢åŒãè¿œå ããŸããïŒããã¯çŸåšãåçŽãªããŒã«å€ã§ãïŒïŒ
if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' && simulator.isAvailable !== true ) { continue }
ããã¯ç©äºãæŽçããŸããã
ããã¯ç§ã«ããŸããããŸããïŒ ã¿ããªããããšãïŒ
誰ãããŸã æåã§ç·šéããããã«findMatchingSimulator.js
ãã¡ã€ã«ãæ¢ããŠããå Žåã¯ãçŸåšæ¬¡ã®ãã¹ã§èŠã€ããããšãã§ããŸãã
node_modules/@react-native-community/cli/build/commands/runIOS/findMatchingSimulator.js
ããã誰ãã®å©ãã«ãªãããšãé¡ã£ãŠããŸãïŒ
ãŸããæ¬åŒ§å ã«IOSããŒãžã§ã³ãæž¡ãããšãå¿ããªãã§ãã ããã
--simulator "iPhone 11 Pro Max (13.2)"
@kelvinlemusç§ã¯æã£ãŠããŸã
react-native-cli: 2.0.1
react-native: 0.61.5
ãããŠãããã©ã«ãã®ã·ãã¥ã¬ãŒã¿ãŒãiPhoneXããå€æŽããã
react-native run-ios --simulator='iPhone XR'
ãŸãã¯ãã®ä»ãå®è¡ããããšããŠããŸã
ããããiPhoneXã ããçºå£²ããããã³ã«
æãåèã«ãªãã³ã¡ã³ã
次ã®è¡ã®
node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js
ã®ã·ãã¥ã¬ãŒã¿ããŒãžã§ã³ã§æååæ€çŽ¢ãå®è¡ãããšåé¡ãçºçããŸãïŒif (!version.startsWith('iOS')
ãç§ã¯ããã
includes
ã«çœ®ãæããŸããïŒif (!version.includes('iOS')
ããã¯ç§ã«ãšã£ãŠåé¡ã解決ããããã§ãã