React-Native如何更改iOS和Android文件夹的默认位置

7
根据 react-native cli 文档,我们可以为 RN cli 指定每个平台的自定义配置。 我想更改每个平台文件夹的默认位置,因此我在项目根目录下添加了我的自定义 react-native.config.js 文件,您可以在此处找到它:
module.exports = {
  project: {
    ios: {
      project: './example/ios/example.xcworkspace',
    },
    android: {
      sourceDir: './example/android/',
    },
  },
};

如果我在根目录中运行 react-native config,我可以看到正确的配置:
{
...
  "project": {
    "ios": {
      "sourceDir": "path-to-project-directory/example/ios",
      "folder": "path-to-project-directory",
      "pbxprojPath": "path-to-project-directory/example/ios/example.xcworkspace/project.pbxproj",
      "podfile": "path-to-project-directory/example/ios/Podfile",
      "podspecPath": null,
      "projectPath": "path-to-project-directory/example/ios/example.xcworkspace",
      "projectName": "example.xcworkspace",
      "libraryFolder": "Libraries",
      "sharedLibraries": [],
      "plist": [],
      "scriptPhases": []
    },
    "android": {
      "sourceDir": "path-to-project-directory/example/android/",
      "isFlat": true,
      "folder": "path-to-project-directory",
      "stringsPath": "path-to-project-directory/example/android/app/src/main/res/values/strings.xml",
      "manifestPath": "path-to-project-directory/example/android/app/src/main/AndroidManifest.xml",
      "buildGradlePath": "path-to-project-directory/example/android/build.gradle",
      "settingsGradlePath": "path-to-project-directory/example/android/settings.gradle",
      "assetsPath": "path-to-project-directory/example/android/app/src/main/assets",
      "mainFilePath": "path-to-project-directory/example/android/app/src/main/java/com/example/MainApplication.java",
      "packageName": "com.example",
      "packageFolder": "com/example",
      "appName": "app"
    }
  }
}

问题是每当我运行react-native run-ios时,我会遇到以下错误:
error iOS project folder not found. Are you sure this is a React Native project?. Run CLI with --verbose flag for more details.

注意:我已正确安装了所有依赖项。以下是 react-native --v 命令的结果:

react-native-cli: 2.0.1
react-native: 0.62.0

非常感谢,这个问题困扰了我两天。 - John Hannibal
@Hamid,你是怎么解决这个问题的?我也在为同样的问题苦苦挣扎。 - Ajay Sharma
1个回答

0

"react-native": "0.63.4"

对于 iOS,您需要在运行脚本中指定 --project-path 属性,而不是在 react-native.config.js 中。

您的运行脚本应该像这样:

"ios": "react-native run-ios --project-path './<new folder>/ios'"

但在此之后,您需要在许多本地文件(如 Podfile、ios/<your project name>.xcodeproj/project.pbxproj)中更新到位于 ../../node_modules/ 的模块的路径。

您可以在这里查看更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接