2015-10-18 54 views
4

我试图创建我的第一个podspec结合ObjC和SWIFT代码,但我很快就遇到uppon,虽然上传不能棉绒/推一斯威夫特的CocoaPods 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) - ERROR | [iOS]遇到未知错误(使用Swift编写的Pod只能作为框架集成;这个特性仍然处于测试阶段,在验证过程中将use_frameworks!添加到您的Podfile或目标选择使用它,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回购,但不会引起/更改错误)

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." => "[email protected]" } 
    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 
+0

确认,你是否试图推动一个私人可可豆荚规格回购,或公共中继? – esthepiking

+1

这是一个私人的cocoapods回购。推动似乎不是问题,我已经有几个豆荚(pecs)启动并运行,但迄今为止它们都是纯粹的Objective C。 –

回答

4

我刚刚发现答案似乎有点明显。

上传/推送窗口的命令是在bash脚本中,所以我并不总是必须键入所有的标志,而只是输入p​​odspec的文件名/路径。所以在默认的bash脚本中,我的标记为--use-libraries,这是我的一个pod所需的。

当我尝试出来的东西,不得不在pod repo push ..命令我对面的那个男页跌跌撞撞一个错字:

--use-库 短绒使用静态库安装规范

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