Xcode没有找到CocoaPods模块

问题描述 投票:0回答:1

我正在使用CocoaAsyncSocket库来编写我正在编写的应用程序。当我在自己的设备上编译并运行它时没有问题,Xcode能够找到CocoaAsyncSocket

但是,当我尝试归档时,它将无法编译,我收到错误消息,无法找到模块CocoaAsyncSocket

我注意到它与不同的架构有关。当我为自己的设备构建时,它是“arm64”的唯一建筑,当我为arm64armv7armv7s存档时。如果我将归档的构建设置更改为仅为arm64构建,我可以归档。但是我当然希望能够为所有架构构建它。下图显示了arm64唯一建筑物的设置(在我的情况下);

Build Active Architecture Only: Yes

enter image description here

有没有其他人遇到过这个库或其他Cocoapod库的类似问题?

xcode cocoapods arm64 cocoaasyncsocket
1个回答
1
投票

许多开发人员已经接受了即将到来的64位未来,但并非所有第三方库都支持这种架构,包括可通过CocoaPods安装的那些。

尽管第三方pod中缺乏通用的64位支持,但CocoaPods仍然在其生成的目标的构建设置中包含arm64架构(通过ARCHS_STANDARD_INCLUDING_64_BIT)。如果您的应用程序的依赖项不支持arm64,或者您只想为其他原因构建armv7和armv7,则可能会出现问题。

您可以修复此问题,只需将以下内容添加到Podfile的底部,即可将ARCHS构建设置恢复为ARCHS_STANDARD

# Remove 64-bit build architecture from Pods targets
post_install do |installer|
  installer.project.targets.each do |target|
    target.build_configurations.each do |configuration|
      target.build_settings(configuration.name)['ARCHS'] = '$(ARCHS_STANDARD_32_BIT)'
    end
  end
end

注意 :

CocoaPods Troubleshooting Guide建议匹配Xcode项目中的Debug设置,而不是更改Pod的Build Active Architecture。只要它们匹配,它似乎解决了问题。

  1. 选择Pods项目
  2. 仅将构建活动架构从“是”更改为“否”

要么

您可以尝试使用以下命令更新终端中的cocoapods

gem update cocoapods

如果之后不起作用,请进入工作区,单击Pod项目,选择所有Pod目标并将架构设置为(armv7 armv7s arm64)。

© www.soinside.com 2019 - 2024. All rights reserved.