繁体   English   中英

Xcode中的Pod错误“Id:框架未找到Pods”

[英]Pod Error in Xcode “Id: framework not found Pods”

我试图从bitbucket存储库克隆一个项目,并得到一个错误Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)尝试在工作区中运行Xcode项目时。 这些是我遵循的步骤,如果有人能让我知道我做错了什么,那就太好了!

  1. git clone (link to bitbucket)
  2. 对于调试和发布,将Xcode pods项目中的配置设置更改为none
  3. 执行pod install
  4. 打开Xcode工作区文件
  5. 试图在Xcode中构建并收到错误Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)

编辑这是podfile:

# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'

target 'Oncarb' do
  pod 'Alamofire'
  pod 'SwiftyJSON', '~> 2.2.0'
end

#target 'OncarbTests' do
#  pod 'Alamofire'
#  pod 'SwiftlyJSON', '~> 2.2.0'
#end

我缺少一步吗?

谢谢!

这已经为我修好了:

  1. 打开工作区。
  2. 单击屏幕左侧的蓝色项目图标(扩展到文件树中)
  3. 在右边,选择“目标”(与“项目”相对 - 项目为蓝色,目标就像铅笔和尺子以及制作三角形的画笔)
  4. 单击“常规”选项卡
  5. 转到“链接的框架和库”部分(一直到底部)
  6. 删除Pods框架
  7. 添加Alamofire和SwiftyJSON

就我而言,除非我删除了pods框架,否则它不起作用,但我觉得这是一种解决方法。 也许有经验的人可以发表评论。

有时在重命名目标或移动某些内容后,您可能会损坏您的pod安装。 幸运的是,有一种比sudo make install的解决方案更容易解决的问题。

  1. 运行pod deintegrate以从项目中删除任何Cocoapods的痕迹。
  2. 再次运行pod install以将其全部添加回来。

就是这样,修好了。

我的问题是当我运行测试时我得到了这个错误。 因为我只是在我的安装

target 'Project' do
   pod 'xxx'
end

您还应将其添加到测试目标中:

target 'ProjectTests' do
   pod 'xxx'
end

就我而言,我有几个框架以红色列出。 这些是以前的Podfile配置遗留下来的。 我只是删除了以红色列出的这些框架,问题得到解决。

将Cocoapods框架显式导入测试类/测试目标的一个可能原因。

例:

import XCTest
//import AlamofireImage
@testable import MyProject

// instead of importing AlamofireImage:
#if os(iOS) || os(tvOS) || os(watchOS)
    import UIKit
    public typealias Image = UIImage
#elseif os(macOS)
    import Cocoa
    public typealias Image = NSImage
#endif

我首先导入了AlamofireImage因为我在AlamofireImage定义的测试中明确使用了typealias Image

如果像我的例子一样容易阻止导入,那就去做吧。 我刚刚将Image的定义复制到我的测试类文件中。

如果你认为你真的需要那个导入,请继续回答William Hu。 他回答的一个脚注:

target 'MyProjectTests' do
   pod 'OnlyThatFrameworkYouImportIntoYourTest' 
end

您只需要将那些pod添加到测试目标,您需要(明确地)导入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM