我podfile
定义了以下豆荚。
platform :ios, '8.0'
use_frameworks!
target 'LifeStream' do
pod 'SSKeychain'
pod 'LiveSDK'
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift-2.0'
end
我安装了吊舱并打开了我的工作区。我发现 Alamofire 的任何使用都可以正常工作,因为它的 Swift 2 版本将项目作为框架导入。
但是,当我尝试使用 SSKeychain 类时,我收到一个
使用未解析的标识符“SSKeychain”
这同样适用于我尝试在 LiveSDK 中使用的任何类。
我的项目根目录中有一个桥头,并且项目配置为使用它。
#ifndef Header_h
#define Header_h
#import "SSKeychain/SSKeychain.h"
#import "LiveSDK/LiveConnectClient.h"
#endif /* Header_h */
如果我改变#import
从
#import "SSKeychain/SSKeychain.h"
到
#import "SSKeychain.h"
Xcode 无法编译,因为它找不到该文件。所以我假设桥头正在工作,因为我的桥头现在构建的方式不会产生因找不到标题而导致的任何编译器错误。
桥头
框架搜索路径
我还将我的项目根目录添加到框架搜索路径中。
链接框架
最后,我也将所有框架链接到该项目。
我的设置是否遗漏了什么?近一个星期以来,我一直无法让 Cocoapods 为我的项目工作。我什至创建了一个全新的项目,认为我的只是搞砸了;这并没有改变任何事情。我不知道该怎么做才能解决这个问题。
编辑
在做了一些额外的研究之后,我发现一篇博客文章显示你必须在用户标题搜索中包含你的 Pods 目录
一位评论者还提到,如果您正在使用更新的 Cocoapods Frameworks 对 Swift 的支持,那么它将需要包含 Frameworks/** 搜索路径。我已经包含了 Pods/** 和 Frameworks/** 但仍然有同样的问题。
经过一些进一步的阅读,它开始听起来像是 Cocoapods 的限制。据我了解,您不能在项目中同时使用库和框架。