【问题标题】:":CFBundleIdentifier", Does Not Exist: ReactNative 0.58 on Mac / iOS":CFBundleIdentifier",不存在:Macos 上的 React Native 0.58
【发布时间】:2019-02-15 22:31:07
【问题描述】:

我正在关注 0.58 的 ReactNative 教程。我做了它说要做的一切,但在运行react-native run-ios 后我崩溃了。从 2016 年开始,我已经看到了这个极其相似的 SO question。

  • 我尝试了react-native upgrade,它建议做react-native-git-upgrade.这什么也没做。同样的问题。
  • 在 cd-ing 进入glog 之后,在上述问题中运行./configure 的部分没有任何作用。那里没有configure 脚本。在路径NewStupidProject/node_modules/react-native/scripts 中有一个名为ios-configure-glog.sh 的脚本。我运行bash ios-configure-glog.sh,它显示ios-configure-glog.sh: line 31: ./configure: No such file or directory。
  • 我还尝试将 Xcode 设置为使用旧版构建系统。这并没有解决问题。我现在正在重新启动我的笔记本电脑,看看这是否会使这些更改中的任何一个生效。 不走运。顶部写着:

找到 Xcode 项目 NewStupidProject.xcodeproj Building using “xcodebuild -project NewStupidProject.xcodeproj -configuration 调试 -scheme NewStupidProject -destination id=854019D1-8EE7-4D13-87E1-385E6CAC21BE -derivedDataPath build”用户 命令行的默认值:

IDEDerivedDataPathOverride = /Users/me/NewStupidProject/ios/build

准备构建

注意:使用旧版构建系统 === BUILD TARGET 项目的双重转换 React WITH CONFIGURATION Debug ===

当我进入主目录并运行react-native --version 时,输出为:

[NewStupidProject](master)$ react-native --version
react-native-cli: 2.0.1 
react-native: 0.58.4 
[NewStupidProject](master)$

我崩溃后的输出是:

** 构建失败 **

以下构建命令失败: PhaseScriptExecution 安装\第三方/Users/me/native_react_apps/NewStupidProject/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/double-conversion.build/Script-190EE32F1E6A43DE00A8543A.sh (1 次失败)

安装 build/Build/Products/Debug-iphonesimulator/NewStupidProject.app 一个 处理命令时遇到错误 (domain=NSPOSIXErrorDomain, code=22): 安装请求失败 应用程序的捆绑标识符不能是 决定。确保应用程序的 Info.plist 包含一个值 对于 CFBundleIdentifier。打印:条目,“:CFBundleIdentifier”,不 存在

命令失败:/usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/NewStupidProject.app/Info.plist 打印:条目,“:CFBundleIdentifier”,不存在

错误:命令失败:/usr/libexec/PlistBuddy -c 打印:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/NewStupidProject.app/Info.plist 打印:条目,“:CFBundleIdentifier”,不存在

at checkExecSyncError (child_process.js:637:11)
at Object.execFileSync (child_process.js:655:13)
at Promise.then (/Users/me/native_react_apps/NewStupidProject/node_modules/react-native/local-cli/runIOS/runIOS.js:208:5)

设置过程怎么会如此充满错误和如此困难?

为什么Troubleshooting ReactNative 设置中没有此错误消息?

我该如何解决这个问题?以后有可能完全避免这种情况吗?

其他版本信息:

  • X代码:10.1
  • 命令行工具:10.1
  • 纱:0.27.5
  • 守望者:4.9.0
  • 自制软件:2.0.1
  • npm:6.8.0
  • 节点:v11.9.0
  • macOS:10.13.6

更新: 我正在尝试在 GitHub 的 this issue 中实施解决方案,我得到:

dyld:库未加载: /usr/local/opt/readline/lib/libreadline.7.dylib 引用自: /usr/local/bin/awk 原因:找不到图像 ./ios-install-third-party.sh:第 20 行:24497 损坏的管道:13
shasum -p "$cachedir/$file" 24498 中止陷阱:6 | awk -v hash="$hash" '{exit $1 != hash}' 不正确的哈希:61067502c5f9769d111ea1ee3f74e6ddf0a5f9cc ?/Users/me/.rncache/glog-0.3.5.tar.gz

第 2 次更新我正在尝试按照推荐的 here 运行 watchman watch-del-all 命令以清除 RN > 0.50 的缓存,整个事情都挂了。

【问题讨论】:

  • 是的,所以我将项目设置设置为使用旧版构建设置,重新启动计算机,然后运行react-native run-ios,但它仍然在我的控制台上到处乱扔。关于glog 和bundle. 这真是令人沮丧。具有讽刺意味的是,我试图说服我的朋友 react-native init 使用 Expo 和 expo init 已经结束了。进展不顺利。
  • 这很烦人。你清理过构建文件夹吗?这个问题在0.58.+ 版本上应该不再存在,而且我在升级后就没有遇到过。您还应该查看此内容以正确清除cache。我也用这个script 来解决第三者问题
  • 谢谢你。之后我将运行该脚本,看起来不错。 watchman watch-del-all 预计需要很长时间吗?好像挂了。
  • 好的,谢谢你的帮助,安德鲁。我会试试这个并报告。您对此有什么长期解决方案的见解吗?
  • 不知道,我的版本0.58.+没有这个问题。我遇到的大多数问题都可以通过删除构建文件夹、清除缓存或从 Xcode 构建或组合来解决。

标签: ios react-native


【解决方案1】:

我尝试修改构建系统,它对我有用。

详情:

在 Xcode 中打开您的项目工作区文件,然后

File -> Workspace Settings -> Build system -> Legacy Build system

【讨论】:

    猜你喜欢
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多