#ios #react-native
#iOS #react-native
Вопрос:
У меня версия Xcode 7.3.1 версия узла v4.4.6 и версия npm 3.8.6
Итак, прямо сейчас мое приложение ios React Native создается без проблем, но я пытаюсь использовать библиотеку: https://github.com/aksonov/react-native-router-flux/blob/master/docs/MIGRATION.md
для этого требуется версия React-native 0.26.3
Итак, я проверил https://github.com/facebook/react-native/blob/0.26-stable/package.json и обнаружил, что существует стабильная версия React-native 0.26.3 и React 15.0.2
Итак, я изменил свои зависимости от своего проекта в package.json, удалил свою node_modules
папку и переустановил.
"dependencies": {
"react": "15.0.2",
"react-native": "0.26.3",
"react-native-sound": "^0.8.3",
"react-redux": "^4.4.5",
"redux": "^3.5.2",
"redux-thunk": "^2.1.0"
}
Однако мое приложение больше не работает, и я продолжаю получать эту ошибку при запуске. Как мне правильно перейти на React 15?
ld: warning: object file (/Users/appollo_liu/Documents/workspace/laybium_workspace/laybium/ios/build/Build/Products/Debug-iphonesimulator/libRNSound.a(RNSound.o)) was built for newer iOS version (9.0) than being linked (7.0)
Undefined symbols for architecture x86_64:
"std::terminate()", referenced from:
___clang_call_terminate in libReact.a(RCTJSCExecutor.o)
"___cxa_begin_catch", referenced from:
___clang_call_terminate in libReact.a(RCTJSCExecutor.o)
"___gxx_personality_v0", referenced from:
-[RCTJavaScriptContext initWithJSContext:onThread:] in libReact.a(RCTJSCExecutor.o)
-[RCTJavaScriptContext init] in libReact.a(RCTJSCExecutor.o)
-[RCTJavaScriptContext invalidate] in libReact.a(RCTJSCExecutor.o)
_RCTNSErrorFromJSError in libReact.a(RCTJSCExecutor.o)
[RCTJSCExecutor runRunLoopThread] in libReact.a(RCTJSCExecutor.o)
-[RCTJSCExecutor init] in libReact.a(RCTJSCExecutor.o)
-[RCTJSCExecutor context] in libReact.a(RCTJSCExecutor.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
** BUILD FAILED **
The following build commands failed:
Ld build/Build/Products/Debug-iphonesimulator/laybium.app/laybium normal x86_64
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/laybium.app
An error was encountered processing the command (domain=LaunchServicesError, code=0):
The operation couldn’t be completed. (LaunchServicesError error 0.)
Launching org.reactjs.native.example.laybium
An error was encountered processing the command (domain=FBSOpenApplicationErrorDomain, code=4):
The operation couldn’t be completed. (FBSOpenApplicationErrorDomain error 4.)
Комментарии:
1. Вы вообще смотрели это руководство ? Вы запустили
react-native upgrade
? Он предназначен для обновления всех зависимостей и файлов, которые поставляются с react native, для новой версии. Вам нужно будет зайти и вручную исправить все значения, которые впоследствии перезаписывает обновление.2. обновление не работает, чтобы перейти на react native 0.26, я пытаюсь перейти с 0.14 -> 0.26.3
Ответ №1:
Сначала обновите свой react-native до более новой версии, а затем запустите это react-native upgrade
в корне вашего проекта.