【问题标题】:Cannot get simplest cocoapod library to work无法让最简单的 cocoapod 库工作
【发布时间】:2015-06-18 11:12:37
【问题描述】:

很长一段时间以来,我一直试图让这项工作为我工作,因为我相信我做错了可笑的事情。我按照using-pod-lib-create 中的步骤创建了一个 swift pod。我没有选择使用测试框架来消除复杂性。之后,我在 Development Pods (MyLib/Pod/Classes/SomeViewController.swift) 下添加了一些 ViewController 子类。 我现在的问题:我无法从我的 AppDelegate 中引用这个控制器。我可以导入“MyLib”模块,当我写错时XCode会争论,所以我认为XCode正在寻找模块。虽然我不能使用该模块内的控制器。我做了几次pod install,检查了 podspec,检查了 podspec,直到一切都好,甚至是许可证。我不能让它工作。我也尝试过使用 ObjC-Pod-Configuration,但这也没有用。前段时间我做了同样的事情并且开箱即用(对于使用 ObjC-Development-Pod 的 Swift),所以我现在真的很困惑。有人可以给我另一个提示吗?

我正在使用 XCode 6.3.2 和 Cocoapods 0.37.2

感谢一百万 约恩

编辑:

我目前针对这个问题的 podspec。对于现实世界的问题,我有一个更复杂的问题,但也没有用

Pod::Spec.new do |s|
  s.name             = "MyLib"
  s.version          = "0.1.0"
  s.summary          = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr"
  s.description      = <<-DESC
                   Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
                   DESC
  s.homepage         = "https://github.com/<GITHUB_USERNAME>/MyLib"
  # s.screenshots     = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
  s.license          = 'MIT'
  s.author           = { "Jörn Schmidt" => "schmidt@devid.net" }
  s.source           = { :git => "https://github.com/<GITHUB_USERNAME>/MyLib.git", :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

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

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

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

【问题讨论】:

  • 你能展示你的 .podspec 吗?顺便提一句。如果您要从 iOS 8(可能使用 Swift)添加库,我会选择 Carthage - 通过开发人员和用户更容易使用,提供更多控制并且速度更快。
  • @Vive 我编辑了我的帖子。我想到了迦太基,但我也必须支持 cocoapods
  • 我认为您的路径指示的是子文件夹而不是文件夹,但我不确定。你能查一下s.source_files = 'Pod/Classes/*.swift'吗?
  • 不,这没有帮助,除了这个应该递归地声明任何子文件夹中的任何 swift 文件

标签: ios swift xcode6 cocoapods


【解决方案1】:

发现 pod install 是不够的,因为我需要“清除缓存”,即首先删除 Podfile.lock 和 Pods/Manifest.lock。

所以对我来说这很有效: - 首先将 pod 创建为框架 - 然后添加 podspec 并填写所有信息 - 在应用程序项目中,我将 lib 添加为本地 pod 依赖项(Development Pod) - 当我从应用程序项目中更改 lib 时,我总是切换到 lib 项目,构建它,在应用程序目录中执行 rm -f Pods/Manifest.lock &amp;&amp; rm -f Podfile.lock &amp;&amp; pod install - 多田:有效。到目前为止我还没有找到更好的方法,我认为这有点不直接,但它比 *!#

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 2012-09-07
    • 2015-07-09
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多