【问题标题】:How to make pod with Swift如何使用 Swift 制作 pod
【发布时间】:2015-04-25 06:42:29
【问题描述】:

我尝试使用 Swift 创建 pod,但无法使其在 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

【问题讨论】:

  • 您是否为 TestSwift 创建了 pod 规范?如果是这样,请出示这个。否则,您需要创建一个。 pod 规范定义了 pod 的源文件、依赖项等。
  • 问题好像有点不对,你用 Swift 做了一个 pod 但是你不能用还是怎么的?
  • @JRG-Developer 在帖子中添加 podspec 以及代码示例
  • @KostiantynKoval 是 Swift pod,但不能在 Swift 中使用。您可以查看我的示例代码。

标签: ios swift cocoapods


【解决方案1】:

您的项目似乎看不到该文件。
如果这是.swift 文件,而不是.framework,请尝试将文件添加到
构建阶段 -> 编译源代码

应该是这样的:

如果您已正确完成一切 - 正确的 podspec 文件等 - 并且您的项目结构如下所示:

【讨论】:

【解决方案2】:

我的问题与扩展程序不是“公开”有关

所以我的文件是从

extension UIView {
    //methods
}

public extension UIView {
    //methods
}

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 2015-10-22
      • 2015-06-29
      • 1970-01-01
      • 2020-07-20
      相关资源
      最近更新 更多