npx react-native init LongserDemo --template react-native-template-typescript
cd LongserDemonpm install --save @react-navigation/nativenpm install --save @react-navigation/native-stacknpm install --save @react-navigation/bottom-tabsnpm install --save react-native-screensnpm install --save react-native-safe-area-contextnpm install --save react-native-vector-iconsnpm install --save-dev @types/react-native-vector-iconsnpm install --save react-native-linear-gradientnpm install --save react-native-safe-area-contextnpm install --save create-react-classnpm install --save-dev @types/create-react-classnpm install --save @react-native-community/datetimepickernpm install --save react-native-qrcode-svgnpm install --save @react-native-community/netinfonpm install --save @react-native-picker/pickernpm install --save @react-native-community/slidernpm install --save @react-native-async-storage/async-storagenpm install --save react-native-webviewnpm install --save react-native-gesture-handlernpm install --save react-native-sharenpm install --save pinyin-pronpm install --save umi-requestnpm install --save async-validatornpm install --save-dev babel-plugin-module-resolver//npm install --save-dev babel-plugin-transform-inline-environment-variablesnpm install --save async-validatornpx install-expo-modulesnpm install -g expo-cliexpo install expo-applicationexpo install expo-cameraexpo install expo-barcode-scannerexpo install expo-image-pickerexpo install react-native-svgexpo install expo-image-manipulatorexpo install expo-brightnessexpo install expo-locationexpo install expo-printexpo install expo-web-browserexpo install expo-local-authenticationexpo install expo-contactsexpo install expo-deviceexpo install expo-randomexpo install expo-sharingexpo install expo-secure-storeexpo install expo-sqlitecd iospod installcd ..mkdir srcmv app.json srcmv App.tsx src
index.js
import App from './App';import App from './src/App';import {name as appName} from './app.json';import {name as appName} from './src/app.json';
tsconfig.json
"baseUrl": "./","paths": {"components": ["./src/components"],"components/*": ["./src/components/*"],"screens/*": ["./src/screens/*"],"theme": ["./src/theme"],"demos": ["./src/components/demo.ts"],},...}"include": ["src"],
babel.config.js
module.exports = {presets: ['module:metro-react-native-babel-preset'],plugins: [[require.resolve('babel-plugin-module-resolver'), {extensions: [".ios.js",".android.js",".js",".ts",".tsx",".json"],alias: {"components": "./src/components","screens": "./src/screens","demos": "./src/components/demo.ts","theme": "./src/theme"}}]]};
ios/LongserDemo/info.plist
<key>NSAppTransportSecurity</key><dict><key>NSExceptionDomains</key><dict><key>localhost</key><dict><key>NSExceptionAllowsInsecureHTTPLoads</key><true/></dict></dict>+ <key>NSAllowsArbitraryLoads</key>+ <true/></dict>+ <key>NSCameraUsageDescription</key>+ <string>Allow $(PRODUCT_NAME) to use the camera</string>+ <key>NSMicrophoneUsageDescription</key>+ <string>Allow $(PRODUCT_NAME) to use the microphone</string>+ <key>NSPhotoLibraryUsageDescription</key>+ <string>"Allow $(PRODUCT_NAME) to access your photos"</string>+ <key>NSFaceIDUsageDescription</key>+ <string>"$(PRODUCT_NAME) 只访问认证接口,并不会读取手机采集的数据"</string>+ <key>NSContactsUsageDescription</key>+ <string>Allow $(PRODUCT_NAME) to access your contacts</string>+ <key>UIAppFonts</key>+ <array/>
<key>NSCameraUsageDescription</key><string>Allow $(PRODUCT_NAME) to use the camera</string><key>NSMicrophoneUsageDescription</key><string>Allow $(PRODUCT_NAME) to use the microphone</string><key>NSPhotoLibraryUsageDescription</key><string>"Allow $(PRODUCT_NAME) to access your photos"</string><key>NSFaceIDUsageDescription</key><string>"$(PRODUCT_NAME) 只访问认证接口,并不会读取手机采集的数据"</string><key>NSContactsUsageDescription</key><string>Allow $(PRODUCT_NAME) to access your contacts</string><key>UIAppFonts</key><array/>LSApplicationQueriesSchemes
src/app.json
{"name": "LongserDemo","displayName": "LongserDemo","expo": {"plugins": [["expo-image-picker",{"photosPermission": "The app accesses your photos to let you share them with your friends."}]]},"ios": {"entitlements": {"com.apple.developer.networking.wifi-info": "true"}}}
替换 App.tsx,复制其他文件过来
开两个窗口
npx react-native start
npx react-native run-ios



直接设置图标和Splash,完全不需要外部的Splash库
Todo: clear Console.log
https://icon.wuruihong.com
https://github.com/crazycodeboy/react-native-splash-screen/blob/master/add-LaunchScreen-tutorial-for-ios.md
