gpt4 book ai didi

ios - 无法 Lint/推送 Swift Cocoapods podspec

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:06 24 4
gpt4 key购买 nike

我试图创建我的第一个 podspec 结合 ObjC 和 Swift 代码,但我很快就偶然发现了一个我在上传时无法解决的顽固错误

Copying MyLibrary from /Users/lukasschwoebel/Library/Caches/CocoaPods/Pods/External/MyLibrary/540307feb534d63ad9015f3f6452b3ad-be661 to ../../../../../../private/var/folders/2p/_pc_vts51b3_pfydgm7_2n200000gn/T/CocoaPods/Lint/Pods/MyLibrary - Running pre install hooks -> MyLibrary (0.1.0) - ERROR | [iOS] Encountered an unknown error (Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add use_frameworks! to your Podfile or target to opt into using it. The Swift Pod being used is: MyLibrary) during validation.

这是我使用的命令:

pod repo push test-podspecs MyLibrary/MyLibrary.podspec --use-libraries --allow-warnings --verbose

如您所见,这是来自 CocoaPods 的最小未修改示例项目,如下所述:https://guides.cocoapods.org/making/using-pod-lib-create.html由于我什至无法运行此示例,我怀疑我的 cocoapods 配置有问题。

我确保 pod 中没有要上传的单个 Objective C 行(尽管最后,我想要一个混合了 ObjC 和 Swift 代码的 podspec,但此时我只想拥有使用 Swift 的工作 podspec)。

我什至无法使用纯 Swift 上传这个简单的 pod。我首先尝试使用 CocoaPods v0.39.0,然后降级到 0.38.2,之后是 0.38.0,甚至是 0.36.0。即使完全卸载了 CocoaPods。

看来我需要在 CocoaPods 中配置一些东西才能上传 Swift podspec?我得到的错误显然是在 Podfile 需要 use_frameworks 的 Pod 的构建阶段!被包括。那么在podspec验证的时候如何让CocoaPods在编译pod的时候使用它呢?

此外,我安装了 Xcode 7.0.1 和 OSX 10.10.5,它是 Swift 2.0 代码。

提前致谢!

这是完整的 podspec,改编自最初创建的 MyLibrary.podspec(是的,这是一个本地 Podspec-Repo,但这不会导致/改变错误)

Pod::Spec.new do |s|
s.name = "MyLibrary"
s.version = "0.1.0"
s.summary = "A short description of MyLibrary."
s.description = 'Sample Description'
s.license = 'MIT'
s.author = { "Luke A." => "ls@mymail.to" }
s.source = { :git => "file:///Users/.../test/MyLibrary/", :tag => s.version.to_s }
s.platform = :ios, '8.0'
s.requires_arc = true
s.source_files = 'Pod/Classes/**/*'
s.resource_bundles = {
'MyLibrary' => ['Pod/Assets/*.png']
}
s.frameworks = 'UIKit'
end

最佳答案

我刚刚找到了答案,这似乎有点显而易见。

上传/推送 pod 的命令在 bash 脚本中,因此我不必总是键入所有标志,而只需键入 podspec 的文件名/路径即可。因此,在默认的 bash 脚本中,我有一个标记 --use-libraries,这是我的一个 pod 所必需的。

当我尝试一些东西并在 pod repo push .. 命令中出现错字时,我偶然发现了手册页:

--use-libraries Linter uses static libraries to install the spec

对于静态库,这个标志似乎与 Swift podspecs 不兼容。删除该标志 lints 并成功推送我的 podspec。

关于ios - 无法 Lint/推送 Swift Cocoapods podspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203410/

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