use*_*173 7 frameworks couchbase-lite xcode6 ios8
我正在尝试CouchbaseKit
在Swift中创建一个名为(Xcode中的新目标)的自定义框架.在我的内部CouchbaseKit
,我需要访问CouchBaseLite Framework
完全用Obj-C编写的内容.我正在使用Cocoapods
管理CouchBaseLite
和其他几个框架.下面是我的podfile.
Podfile
# Uncomment this line to define a global platform for your project
link_with ['CouchbaseKit']
# platform :ios, '8.0'
use_frameworks!
target 'CouchbaseDB' do
link_with ['CouchbaseKit']
pod 'couchbase-lite-ios'
pod 'SwiftyJSON', '~> 2.2.0'
pod 'Alamofire', '~> 1.2'
pod 'XCGLogger', '~> 2.0'
end
target 'CouchbaseDBTests' do
end
target 'CouchbaseKit' do
end
target 'CouchbaseKitTests' do
end
Run Code Online (Sandbox Code Playgroud)
项目内的Pod:
对于我的TARGETS,我在Build Phases中有以下设置.
定义模块 是
允许框架模块中的非模块化包含是
问题: 当我尝试访问CouchbaseKit(我的自定义框架)中的CouchbaseLite框架时,出现错误,"没有这样的模块'CouchbaseLite'不存在.
尝试:
由于项目是在Swift中,我创建了一个Objective-C文件并点击是" 你想配置一个Objective-C桥接头吗? "
即使允许非模块化包括框架模块设置为YES的所有目标,当我尝试我仍然得到一个错误#import <CouchbaseLite/CouchbaseLite.h>
的CouchbaseKit.h
以下是我的自定义框架的构建阶段 CouchbaseKit
问题: 如何在我的自定义Swift框架中看到外部Objective-C框架(CouchasebaseLite)?
不幸的是,Cocoapods 0.39 遇到了“Transitive Vendor Dynamic Libraries Unsupported”的问题,您将在最新的 couchbase-lite-ios 版本(包括二进制 CouchbaseLite.framework)中看到这一点。不幸的是,这个问题让我很困扰,我不得不重构所有内容以使用 Carthage,并在最终项目中手动管理我的框架。
说到这里,发布的二进制文件 CouchbaseLite.framework 只是缺少模块映射。
添加一项到:CouchbaseLite.framework/Modules/module.modulemap
framework module CouchbaseLite {
umbrella header "CouchbaseLite.h"
export *
module * { export * }
}
Run Code Online (Sandbox Code Playgroud)
然后,您将能够将此框架包含到桥接标头中,并正确嵌套动态框架。但您可能需要像我一样转而使用 Carthage 构建 CouchbaseKit.framework。
归档时间: |
|
查看次数: |
2054 次 |
最近记录: |