Xcode "Id: framework not found Pods" 中的 Pod 错误
Pod Error in Xcode "Id: framework not found Pods"
我正在尝试从 bitbucket 存储库克隆项目,但在尝试 运行 工作区中的 Xcode 项目时遇到错误 Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
。这些是我遵循的步骤,如果有人能告诉我我做错了什么,那就太好了!
git clone (link to bitbucket)
- 将 Xcode pods 项目中的配置设置更改为
none
用于调试和发布
- 执行
pod install
- 打开了 Xcode 工作区文件
- 尝试在 Xcode 中构建并收到错误
Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
编辑 这是播客文件:
# 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
我是否遗漏了一个步骤?
谢谢!
这已经为我解决了:
- 打开工作区。
- 单击屏幕左侧的蓝色项目图标(展开到您的文件树中)
- 就在右边,select "Targets"(相对于 "Project"--Project 是蓝色的,Target 就像铅笔、尺子和画笔组成的三角形)
- 单击“常规”选项卡
- 转到 "Linked Frameworks and Libraries" 部分(一直在底部)
- 删除 Pods 框架
- 添加 Alamofire 和 SwiftyJSON
就我而言,除非我删除 pods 框架,否则它不起作用,但我觉得这是一种解决方法。也许有更多经验的人可以评论。
有时在重命名目标或移动某些内容后,您可能会损坏 pods 安装。幸运的是,有比 sudo make install
的解决方案更简单的修复方法。
- 运行
pod deintegrate
从您的项目中删除 Cocoapods 的任何痕迹。
- 运行
pod install
再次添加。
就是这样,已修复。
就我而言,我有几个框架以红色列出。这些是以前的 Podfile 配置遗留下来的。我简单地删除了这些以红色列出的框架,问题就解决了。
我的问题是当我 运行 测试时我遇到了这个错误。因为我只是把它安装在我的
target 'Project' do
pod 'xxx'
end
您还应该将其添加到您的测试目标中:
target 'ProjectTests' do
pod 'xxx'
end
将 Cocoapods 框架 显式 导入到测试 class / 测试目标中的一个可能原因。
示例:
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
,因为我在我的测试中明确使用了 typealias Image
,如 AlamofireImage
中所定义。
如果像我的例子一样容易阻止导入,那就去做吧。我刚刚将 Image 的定义复制到我的测试 class 文件中。
如果您认为您确实需要导入,请继续 William Hu 的回答。他的回答的脚注:
target 'MyProjectTests' do
pod 'OnlyThatFrameworkYouImportIntoYourTest'
end
您只需将那些 pods 添加到您的测试目标,您(需要)显式导入。
我正在尝试从 bitbucket 存储库克隆项目,但在尝试 运行 工作区中的 Xcode 项目时遇到错误 Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
。这些是我遵循的步骤,如果有人能告诉我我做错了什么,那就太好了!
git clone (link to bitbucket)
- 将 Xcode pods 项目中的配置设置更改为
none
用于调试和发布 - 执行
pod install
- 打开了 Xcode 工作区文件
- 尝试在 Xcode 中构建并收到错误
Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
编辑 这是播客文件:
# 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
我是否遗漏了一个步骤?
谢谢!
这已经为我解决了:
- 打开工作区。
- 单击屏幕左侧的蓝色项目图标(展开到您的文件树中)
- 就在右边,select "Targets"(相对于 "Project"--Project 是蓝色的,Target 就像铅笔、尺子和画笔组成的三角形)
- 单击“常规”选项卡
- 转到 "Linked Frameworks and Libraries" 部分(一直在底部)
- 删除 Pods 框架
- 添加 Alamofire 和 SwiftyJSON
就我而言,除非我删除 pods 框架,否则它不起作用,但我觉得这是一种解决方法。也许有更多经验的人可以评论。
有时在重命名目标或移动某些内容后,您可能会损坏 pods 安装。幸运的是,有比 sudo make install
的解决方案更简单的修复方法。
- 运行
pod deintegrate
从您的项目中删除 Cocoapods 的任何痕迹。 - 运行
pod install
再次添加。
就是这样,已修复。
就我而言,我有几个框架以红色列出。这些是以前的 Podfile 配置遗留下来的。我简单地删除了这些以红色列出的框架,问题就解决了。
我的问题是当我 运行 测试时我遇到了这个错误。因为我只是把它安装在我的
target 'Project' do
pod 'xxx'
end
您还应该将其添加到您的测试目标中:
target 'ProjectTests' do
pod 'xxx'
end
将 Cocoapods 框架 显式 导入到测试 class / 测试目标中的一个可能原因。
示例:
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
,因为我在我的测试中明确使用了 typealias Image
,如 AlamofireImage
中所定义。
如果像我的例子一样容易阻止导入,那就去做吧。我刚刚将 Image 的定义复制到我的测试 class 文件中。
如果您认为您确实需要导入,请继续 William Hu 的回答。他的回答的脚注:
target 'MyProjectTests' do
pod 'OnlyThatFrameworkYouImportIntoYourTest'
end
您只需将那些 pods 添加到您的测试目标,您(需要)显式导入。