gpt4 book ai didi

ios - 编译 Ionic 应用程序时未设置 PODS_ROOT 和其他 pod 环境变量

转载 作者:可可西里 更新时间:2023-11-01 03:48:26 25 4
gpt4 key购买 nike

我构建了一个使用 Intercom(第三方扩展)的 Ionic 2 应用程序。 Intercom 使用 cocoapods 安装。

编译我的应用程序时出现错误:

diff: /Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

这是由构建阶段生成的[CP] Check Pods Manifest.lock:

diff "${PODS_PODFILE_DIR_PATH}/Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
if [ $? != 0 ] ; then
# print error to STDERR
echo "error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation." >&2
exit 1
fi
# This output is used by Xcode 'outputs' to avoid re-running this script phase.
echo "SUCCESS" > "${SCRIPT_OUTPUT_FILE_0}"

我已经尝试从上面的脚本在 STDERROR echo 中输出环境变量 PODS_PODFILE_DIR_PATHPODS_ROOT 并且两者都是空白的。我可能可以通过自己修改这些路径来解决这个特定错误,但显然其他更基本的东西被破坏了,所以我需要自己解决实际问题。

为什么这些变量是空白的?

[CP] Copy Pods Resources[CP] Embed Pods Frameworks 我有额外的构建阶段,它们运行一些 shell 脚本。我曾尝试更改这些顺序,但没有成功。

我的 Podfile.lock 和 Podfile(无论如何都是自动生成的)看起来都不错:

播客文件:

# DO NOT MODIFY -- auto-generated by Apache Cordova
platform :ios, '8.0'
target 'niix' do
project 'niix.xcodeproj'
pod 'Intercom', '~> 3.2.2'
end

Podfile.lock:

PODS:
- Intercom (3.2.12)

DEPENDENCIES:
- Intercom (~> 3.2.2)

SPEC CHECKSUMS:
Intercom: 3119e8ebf76d3da425bab717a08067398fcabfe6

PODFILE CHECKSUM: f99283bb8a4e56cb037a02390d2fbc4e76c97db9

COCOAPODS: 1.3.1

运行 pod install 时没有错误,我期望的所有文件都存在。

我已经尝试过的事情:

  • 运行 pod install(当然)
  • 运行 pod deintegrate,在 XCode 中运行 Product > Clean,重新运行 pod install
  • 手动删除 Podfile.lockPods 目录,在 XCode 中运行 Clean,然后重新运行 pod install
  • 睡个好觉,第二天早上再试一次!

注意事项:

  • 我从 project.xcworkspace 而非 project.xcodeproj 运行
  • 我正在运行 XCode 8.3.3 的最新稳定版本
  • 我正在运行最新版本的 Cocoapods 1.3.1

最佳答案

我花了很长时间试图解决这个问题,但一无所获。该应用程序是使用 Ionic 2 构建的,因此实际源代码存储在其他地方并构建到 native XCode 应用程序中。

因此我决定删除整个 XCode 目录。 .xcodeproj.xcworkspace,应有尽有。然后我从 Ionic 重建。

在第二个构建中,我看到 Pods 目录在那里,一切都应该如此。我可以毫无问题地第一次编译和运行。

我的假设是第一次构建失败是因为我没有安装 Cocoapods,所以 Ionic 在设置时静默地运行 pod install 命令失败。我想它与传统设置有些不同,这就是为什么我不能在之后运行 pod install 的原因。

因此,简而言之,通过删除 iOS 项目解决了这个问题:

ionic cordova platform rm ios

并重新添加它:

ionic cordova platform add ios

然后构建:

ionic cordova run ios --device

但请先确保您的系统上已经安装了 Cocoapods。

关于ios - 编译 Ionic 应用程序时未设置 PODS_ROOT 和其他 pod 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110728/

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