【发布时间】:2023-03-29 02:25:01
【问题描述】:
我正在尝试通过 Carthage 将静态框架 (Moya) 添加到我的私人 Cocoapod 项目中。
我的目标是将 Moya 作为静态框架包含在我的私有 Cocoapod (SwiftModel) 中,并在我的主项目中也使用 Moya(因为 SwiftModel 依赖于它)。
我已通过执行以下步骤将 Moya 添加到我的框架中:
-
podspec 文件中的链接框架
s.vendored_frameworks = 'SwiftModel/Carthage/Build/iOS/Moya.framework' 将 Moya 添加到私有框架(Link Binary With Libraries)
所以在我的 Pods 项目中它看起来像这样:
尝试将路径添加到“框架标题搜索路径”没有进行任何更改。我已经尝试将它添加到主项目和 pods 项目中。
当只是构建私有 pod 时,一切正常,并且 Moya 被识别。但是,如果我想构建主项目(包括我的私人 pod),我总是会收到此错误:
没有找到 Moya 架构 arm64 的框架
【问题讨论】:
-
Cocoapod 和 Carthage 是 2 个不同的东西,当您使用 Cocoapod 时,您不需要显式地将框架文件添加到您的项目中,如果您使用 Carthage 添加它,那么您需要将 .Framework 文件添加到您的项目中项目的
Link Binary With Libraries部分不在 Pod 内。 -
我明确地想添加框架,因为我想减少主项目中的编译时间。然而,我自己的框架被集成为私有 pod,但我的私有 pod 使用其他框架,如 Moya,它们被集成为框架。 (请参阅第 2 步)
-
尽管您需要将其添加到您的项目中,而不是在 Pod 项目中。将它从 Pod 项目移到你的项目中。
-
@DipenPanchasara 不幸的是,在主项目中将其添加到 Link Binary with Libraries(包含 Moya.framework 和 Pods.framework)没有帮助,仍然是同样的问题。
-
从
Podfile和 Pod 项目中删除它。仅将其保存在 Project 的Link Binary with Libraries中。不要把它放在两个地方。
标签: swift cocoapods carthage moya