1、iOS啟動模擬器出現如下錯誤信息
Application XXX(項目名) has not beenRegistered. This is either due to a require() error during initialization or failure to call AppRegistry.registerComponent
原因:
1、AppRegistry.registerComponent('項目名',() => 項目名); *
與./ios/項目名/appDelegate.m中的RCTRootView*rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"項目名" initialProperties:nil launchOptions:launchOptions];
解決辦法:
1、項目名稱全部統一即可。
2、若不同,后兩個項目名為root的類名。
2、本地服務沒有啟動,或者端口被占用。
解決辦法:
1、到當前proj目錄下,react-native start,啟動本地服務。
2、如果出現 ERROR Packager can't listen on port 8081。
3、使用命令 lsof -i:8081 ,查看這個端口是否被某個進程占用。
如果被占用,會有信息輸出如下。
? ~/Desktop/TabBarDemo/ [master] lsof -i:8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 32146 Jueying 24u IPv6 0x75456f5cb82f8085 0t0 TCP *:sunproxyadmin (LISTEN)
如果沒有被占用,則不會輸出任何信息。
4、如果8081這個端口被占用,使用命令:kill -9 8081 ,命令將這個進程干。
5、command + r,刷新模擬器. 已ok。
2、錯誤信息Command "run-ios" unrecognized. Did you mean to run this inside a react-native project?
解決辦法:
1、到當前proj目錄下,使用命令:npm install即可。
寫在結束。。。
學習ReactNative已有1月有余,簡單的頁面布局和網絡請求,已經很熟悉。正準備適配安卓時,微信小程序又冒出來了,來勢洶洶,很真切的感受到了從入門到放棄。