如何用Swift制作pod

时间:2015-04-25 06:42:30

标签: ios swift cocoapods

我尝试使用Swift创建pod,但我无法使其在Swift项目上运行。

我创建了非常简单的swift扩展

import UIKit

public extension UIView {
    public func sw_foo() {
        println("bar")
    }
}

和Podfile

source 'https://github.com/CocoaPods/Specs.git'

use_frameworks!

pod "TestSwift", :path => "../"

在Objective-C项目中,我可以导入#import <TestSwift/TestSwift-Swift.h>并使用方法[self.view sw_foo];

但是在Swift项目中我无法点击标题import TestSwift

即使我宣布公开

,我也看不到自己的方法
import TestSwift
import UIKit


var TestSwiftVersionNumber: Double

课程非常简单,我不知道自己做错了什么。

尝试pod 0.36.3和0.36.4

这是我的项目:https://www.dropbox.com/s/h6yyq8207iajlsv/TestSwift.zip?dl=0

和podspec

Pod::Spec.new do |s|
  s.name             = "TestSwift"
  s.version          = "0.1.0"
  s.summary          = "A short description of TestSwift."
  s.description      = <<-DESC
                       An optional longer description of TestSwift

                       * Markdown format.
                       * Don't worry about the indent, we strip it!
                       DESC
  s.homepage         = "https://github.com/<GITHUB_USERNAME>/TestSwift"
  # s.screenshots     = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
  s.license          = 'MIT'
  s.author           = { "Sarun Wongpatcharapakorn" => "artwork.th@gmail.com" }
  s.source           = { :git => "https://github.com/<GITHUB_USERNAME>/TestSwift.git", :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

  s.platform     = :ios, '7.0'
  s.requires_arc = true

  s.source_files = 'Pod/Classes/**/*'
  s.resource_bundles = {
    'TestSwift' => ['Pod/Assets/*.png']
  }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  s.frameworks = 'UIKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

2 个答案:

答案 0 :(得分:1)

好像文件对您的项目不可见 如果这是.swift文件,而不是.framework,请尝试将文件添加到
构建阶段 - &gt;编译来源

它应该是这样的:

enter image description here

如果您已经完成所有 - 正确的podspec文件,等等 - 您的项目结构如下所示:

enter image description here

答案 1 :(得分:0)

我终于找到了问题,我的示例项目与我的pod TestSwift具有相同的名称。更改项目名称后,一切正常。