gpt4 book ai didi

ios - React Native ios构建成功,但应用程序包的路径错误

转载 作者:行者123 更新时间:2023-11-29 05:16:59 26 4
gpt4 key购买 nike

当我运行react-native run-ios 时,构建成功并在 ios 下创建了构建文件夹。但是构建后,当安装开始时,出现以下错误。当我通过xcode运行该项目时,该项目运行成功。我观察到以“DerivedData”开头的路径是错误的。相反,它应该是“构建”。当我将“build”文件夹重命名为“DerivedData”并重新运行“react-native run-ios”时,整个过程成功完成,但当然是使用之前的构建。

如何将“DerivedData”更改为“build”?

我从 0.59.9 升级到 0.60.0 后立即发生此错误。

错误:信息安装“DerivedData/Build/Products/Debug-iphonesimulator/mobileappname.app”处理命令时遇到错误(域 = NSPOSIXErrorDomain,代码 = 2):无法安装请求的应用程序在提供的路径中找不到应用程序包。提供所需应用程序包的有效路径。打印:条目,“:CFBundleIdentifier”,不存在错误命令失败:/usr/libexec/PlistBuddy -c 打印:CFBundleIdentifier DerivedData/Build/Products/Debug-iphonesimulator/mobileappname.app/Info.plist打印:条目,“:CFBundleIdentifier”,不存在.使用 --verbose 标志运行 CLI 以获取更多详细信息。错误:命令失败:/usr/libexec/PlistBuddy -c 打印:CFBundleIdentifier DerivedData/Build/Products/Debug-iphonesimulator/mobileappname.app/Info.plist打印:条目,“:CFBundleIdentifier”,不存在

在 checkExecSyncError (child_process.js:616:11)在 Object.execFileSync (child_process.js:634:13)在 runOnSimulator (/Users/armaneker/WebstormProjects/mobileappname/node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js:189:45)在 process._tickCallback (内部/process/next_tick.js:68:7)

React Native 版本:系统:操作系统:macOS 10.15二进制文件:节点:10.15.3 -/usr/local/bin/nodenpm:6.13.1 -/usr/local/bin/npm守望者:4.9.0 -/usr/local/bin/watchman软件开发工具包:iOS SDK:平台:iOS 13.0、DriverKit 19.0、macOS 10.15、tvOS 13.0、watchOS 6.0Xcode:11.0/11A420a -/usr/bin/xcodebuildnpm 包: react :16.8.6 => 16.8.6 react native :0.60.0 => 0.60.0npmGlobalPackages:创建 react native 应用程序:1.0.0 react native -cli:2.0.1 react native git升级:0.2.7

重现步骤

  • 使用 rn-diff-purge 从 0.59.9 升级到 0.60.0
  • android 工作正常
  • react-native run-ios 构建成功,但安装应用失败

最佳答案

解决方案并不明显,react-native-cli 正在尝试猜测您的计算机上当前设置的 xcode 构建配置,这就是函数 getBuildPath()< 上发生的情况

function getBuildPath(configuration, appName, isDevice, scheme) {
let device;

if (isDevice) {
device = 'iphoneos';
} else if (appName.toLowerCase().includes('tvos')) {
device = 'appletvsimulator';
} else {
device = 'iphonesimulator';
}

let buildPath = `build/${scheme}/Build/Products/${configuration}-${device}/${appName}.app`; // Check wether app file exist, sometimes `-derivedDataPath` option of `xcodebuild` not works as expected.

if (!_fs().default.existsSync(_path().default.join(buildPath))) {
return `DerivedData/Build/Products/${configuration}-${device}/${appName}.app`;
}

return buildPath;
}

诀窍不是修补此文件,而是首先正确设置您的 Xcode 配置Xcode > Preferences > Locations(参见图片)

enter image description here

Xcode > 首选项 > 位置 > 高级

enter image description here

完成此操作后,您必须清理构建文件夹,否则,react-native-cli 仍会认为 xcode 的行为不符合预期,这将继续产生相同的错误。

cd ios && rm -rf build

您现在可以执行npx react-native run-ios,一切都会恢复正常。

我花了相当长的时间才弄清楚这一点,我认为 react-native-cli 应该输出更多有关幕后情况的详细信息,以免人们被阻止。

关于ios - React Native ios构建成功,但应用程序包的路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59082912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com