不能纤细/推动Swift Cocoapods podspec
我试图创建我的第一个结合了ObjC和Swift代码的podspec,但是我很快就发现了一个上传时无法解决的固执错误
将MyLibrary从/Users/lukasschwoebel/Library/Caches/CocoaPods/Pods/External/MyLibrary/540307feb534d63ad9015f3f6452b3ad-be661
到../../../../../../private/var/folders/2p/_pc_vts51b3_pfydgm7_2n200000gn/T/CocoaPods/Lint/Pods/MyLibrary
- 运行预安装钩子 - > MyLibrary(0.1.0) - 错误| [iOS]遇到一个未知的错误(用Swift编写的Pod只能作为框架集成,这个特性仍然处于测试阶段,在你的Podfile中添加use_frameworks!
或者选择使用它的目标,使用的Swift Pod是:MyLibrary)验证。
这是我使用的命令:
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,但是此时我只想要一个有效的podspec与斯威夫特)。
我甚至无法用纯Swift上传这个简单的pod。 我第一次尝试用CocoaPods v0.39.0,然后降级到0.38.2,之后0.38.0,甚至0.36.0。 即使完全卸载CocoaPods。
看来我需要在CocoaPods中配置一些能够上传Swift podspec的东西? 我明显得到的错误是在Podfile需要use_frameworks的窗口的构建阶段! 被包括。 那么我怎么让CocoaPods在podspec验证过程中编译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 ..
输入错字时,我偶然发现了这个man-page:
--use-libraries Linter使用静态库来安装规范
使用静态库时,该标志似乎与Swift podspecs不兼容。 删除该标志lint并成功推送我的podspec。
链接地址: http://www.djcxy.com/p/89643.html