我是React-native的新手,来自Cordova / Ionic,想知道React Native在构建过程中是否有类似之处。
在Cordova / Ionic中,您可以在config.xml和/或build.json文件中指定一些配置。
例如,您可以设置一些构建标记,例如:
“ ENABLE_BITCODE = YES”, “ DISABLE_PUSH_NOTIFICATIONS = 1”
在config.xml中,您还可以指定一些配置,例如:
preference name =“ orientation” value =“纵向”
所以我想知道React Native是否有类似的东西?或者我们需要在Xcode中手动设置所有这些设置。
谢谢
史蒂夫
答案 0 :(得分:0)
取决于您是使用Expo
还是使用react-native init
创建应用的,取决于您如何配置应用。
简而言之,如果您使用react-native init
创建了项目,则要进行的任何配置更改都必须在本机应用程序中完成。
对于iOS中的appname.xcodeproj
文件,在Info.plist
,AppDelegate.m
中,您甚至可能还需要添加一个yourappname.entitlements
文件。
与Android类似,通过编辑AndroidManifest.xml
,build.gradle
文件,settings.gradle
甚至MainActivity.java
和MainApplication.java
来实现。
根据您要进行的更改,有很多地方可以编辑。
使用react-native init
确实需要对本机iOS和Android项目有所了解。
Expo
没有可编辑的本机代码,因此您可以更改的所有首选项和设置主要在app.json
中完成。您可以在Expo文档中查看有关此内容的更多信息:https://docs.expo.io/versions/v31.0.0/workflow/configuration
尽管Expo可以更轻松地使用,因为它可以消除本机代码的复杂性,但由于无法使用Expo不支持的依赖项,它可能会变得局限性。这可能会导致某些应用程序构建者先从Expo开始,然后在Expo框架不符合其要求时弹出。
这个SO问题对这两种建立反应式应用程序的方式之间的区别有很好的回答。绝对值得一读。 What is the difference between Expo and React Native?