我知道这可能是非常基本的问题。但我很新,并且得到了一个只支持 android 的代码库。我需要为它添加 iOS。请帮我
2 回答
当你的目标是构建一个跨平台的应用程序时,React Native 提供了两种方法来组织代码并按平台分隔代码:平台模块或特定于平台的文件扩展名。
由于您已经有一个 Android 应用程序,我认为它具有更高的复杂性,因此您可能希望将代码拆分为单独的文件。
您说您有一个 Android 应用程序,但我不认为您指定该应用程序只应为 Android 构建(您可以在包和项目配置中查看)。因此,以下命令就足够了:
react-native run-ios
如果您从模板(例如使用npx react-native init ProjectName)创建了您的 react 本机应用程序,它已经提供了一个iosandandroid文件夹,因此它已经支持它。如果文件不存在,您可以按照上面@Rajan 分享的说明重新创建ios文件夹。
如果您的问题是使用 运行 iOS 应用程序npm run ios,并且无法构建或 javascript 引发错误,那么最快的尝试是cd ios, 然后pod install. 如果这不起作用,可能是因为您安装了其他依赖项,这需要在 ios 文件夹中完成特定的说明和配置。这个是依赖于库的,如果需要,会在README.md库中深入讲解。例如,react-native-firebase有很多步骤,并且与android配置不同。
有时在 XCode 中修改这些配置而不是手动编辑文件会很有帮助(例如 plist、xml、xproj)。xed ios您可以在根项目文件夹中使用 when 快速打开 xcode 。
注意:像往常一样,请记住在 node_modules 文件夹中提供可用的库,npm install.
将来,您可能会选择根据平台运行不同的 javascript 代码(特定于平台的代码)。React Native 通过使用file.android.jsand来实现这一点file.ios.js。但是,您的 IDE 可能难以处理这两个文件,并且与file.js. 或者,您可以导入Platform并在运行时有条件地检查您的平台是什么。
如果您使用 Expo,则无法访问本机代码,但已经支持 iOS。