KMM项目使用cocoaPods进行设置,在第一次编译时失败。

12

我创建了一个新的KMM项目,并选择了Cocoapods作为iOS框架分发方式,但是在构建完成后,它抛出了以下错误:

执行 'pod install' 失败,错误代码为1。

请检查文件 "/Users/barryalan/AndroidStudioProjects/PersonalProjects/deleteThis/iosApp/Podfile" 头部是否包含以下行:source 'https://cdn.cocoapods.org'

请检查每个依赖于共享文件的目标是否包含以下依赖项:

尽管这仍处于alpha版本,但我需要一些指导来解决这个问题。

8个回答

17

2022年更新

如何在 Apple Silicon (M1) 上运行 CocoaPods(由评论者Jakub Turcovsky提供)。

原帖

我在 M1(Apple Silicon)Mac 上遇到了类似的问题。它要求安装依赖项,但未指明缺失哪些依赖项。只是错误码不同:

Executing of 'pod install' failed with code 134

安装完cocoapods(和generate)后,我必须为 M1 更新 Ruby(见 如何在 Apple Silicon (M1) 上运行 CocoaPods

sudo arch -x86_64 gem install ffi

在我运行的 KMM 项目中(位于 iosApp 文件夹内):

arch -x86_64 pod install

共享依赖已安装。

/iosApp ❯ arch -x86_64 pod install                                                                                              
Analyzing dependencies
Downloading dependencies
Installing shared (1.0)
Generating Pods project
Integrating client project
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

之后,该项目已经成功同步。

FYI:

  • Android Studio Arctic Fox | 2020.3.1 Patch 4 (arm64)
  • VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. - Homebrew (openjdk@11)
  • macOS 12.1

2
2022更新:只需使用Homebrew在M1上安装CocoaPods。请参见https://dev59.com/slEG5IYBdhLWcg3wgv82#65334677。 - Jakub Turcovsky

10
  1. 打开终端,进入iosApp目录,输入sudo gem install cocoapods / gem install cocoapods进行安装。
  • 生成pod成功后,关闭终端和Android Studio
  • 再次打开终端并运行命令sudo gem install cocoapods-generate / gem install cocoapods-generate,然后关闭并重新打开终端并继续步骤2。
  1. 在终端中输入vim .zshrc,这将打开您的.zshrc文件。
  2. 按下I键插入内容,然后粘贴export LANG=en_US.UTF-8并按ESC键退出,输入:wq保存并退出。
  • 退出终端并打开Android Studio。 清理并构建项目。

5

如果您正在运行M1,并且使用从homebrew安装的cocoapods,则错误不应与其他解决方案建议的您的arch相关。

相反,请进入iosApp并在android studio终端中手动运行pod install注意:必须是android studio终端,因为本地终端可能会给您错误的结果。

如果显示的错误是

WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ~/.profile:

export LANG=en_US.UTF-8 

打开本地终端,输入open ~/.zshrc(如果您不使用zsh,请改为.profile)。

添加

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

保存并退出

返回终端并输入source ~/.zshrc

退出Android Studio(cmd + Q),重新打开即可,问题应该已经解决!


4

确保已安装CocoaPods 最简单的安装CocoaPods方法:

$ brew install cocoapods

我使用以下命令进行安装,但遇到了错误:

$ sudo gem install cocoapods

1
对我来说,第一个命令也起作用了。 第二个命令出错了。 - undefined
@Shweta 这就是我说的 - undefined

3

请提供完整的错误信息,以及缺少哪些依赖项?还需要提供您的设置。

如果您希望这个命令能够执行,也可以在命令行中运行pod install。如果这个命令能够正常运行,那么问题可能是由于CocoaPods现在强制使用UTF-8而导致构建进程使用了不同的编码方式。


3
我遇到了这个问题,因为我按照官方网站上的指示使用 gems 安装了 cocoapods。然而,在拥有 M1 芯片 的 Macbookpro 上安装会出现一些问题,你需要使用 brew 安装 cocoapodsrbenv 安装 ruby
你也可以使用 kdoctor 来检查你的环境是否正确设置。
步骤如下:
1. 如果你使用 gem 安装了 cocoapods,则卸载它 sudo gem uninstall cocoapods。如果手动安装了 cocoapods,则手动删除它。如果没有用 ruby 的 gem 安装其他内容,建议也卸载 gem
2. 如果尚未安装,请安装 homebrew
3. 使用 homebrew 安装 rbenv
4. 使用 rbenv 安装 ruby 2.7.x。不要安装 ruby 3.x,因为截至2022年12月,它在 M1 Macs 上无法与 pod 正常工作。
5. 使用 rbenv 切换到第 4 步中安装的 ruby 版本(2.7.x)。你必须切换到不同于 Mac 系统中预安装的 ruby 二进制文件的不同版本。Cocoapods 与预安装的版本不兼容。确保 which -a ruby 指向使用 rbenv 安装的版本。
6. 使用 brew 安装 cocoapods brew install cocoapods。确保 which -a pod 指向使用 brew 安装的版本。
7. 运行 kdoctor,然后再次运行 pod install。你应该可以顺利进行了。

0
第一步:更新Cocoapods 首先执行sudo gem uninstall cocoapods 然后执行brew install cocoapods 第二步: 如link中所提到的
sudo gem uninstall cocoapods
sudo gem install -n /usr/local/bin cocoapods

第三步: 如果“在本地终端输入open ~/.zshrc(如果您不使用zsh,则输入.open .profile)”无效。 尝试打开bash_profile并将所有导出文件添加到末尾。 open ~/.bash_profile 保存并退出以下文本。
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

重新启动Android Studio并同步。


-1

以上解决方法都不适用于我。

切换到 Android Studio > Preferences > Embedded JDK(之前设置为 Android Studio java home)解决了我的问题。

之前我尝试在 Podfile 的顶部添加“source 'https://cdn.cocoapods.org'”,但这并没有改变什么。


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