您的位置:首页 > 移动开发 > Swift

Swift 3中使用FMDB遇到的问题与解决方法

2017-07-17 11:41 579 查看

本文主要给大家介绍了关于在Swift 3中使用FMDB遇到的问题与解决方法,分享出来供大家参考学习,下面来一起看看详细的介绍:

状况

OC项目转Swift,打算继续使用FMDB。Cocoapods进来后,在桥接文件 "XXX-Bridging-Header.h" 中写入#import "FMDB.h"。

编译报错,如下图所示。

Cocoapods Podfile
platform :ios, '10.0'
use_frameworks!
targetsArray = ['HelloSwift']
targetsArray.each do |t|
target t do
pod 'FMDB/SQLCipher'
pod 'Alamofire'
end
end
inhibit_all_warnings!

原因

究其原因,发现是因为在Podfile用了use_frameworks!导致的。之前OC的项目没有加这个属性。

在Cocoapods 里使用use_frameworks!的话,是通过frameworks这个方式来管理pod的代码。不配置的话,则采用static libraries方式来管理。这也是之前OC项目里的方式,在需要调用的地方直接 #import "FMDB.h"即可。

解决方法

在桥接文件 "XXX-Bridging-Header.h" 中的引用方式改变成

#import <FMDB/FMDB.h>

在需要调用的类里加上

import FMDB
,编译成功。

示例代码

之前Cocoapods用static libraries方式的话是不需要在类里import FMDB的。但如果采用use_frameworks!属性的话,调用时不引用会报如下错误。


参考资料

在xcode 6.4 中使用swift和object-c混合编程,同时通过cocoapods进行管理的一些问题和解决办法](https://www.geek-share.com/detail/2651142262.html)

cocoapods use_frameworks的问题

Swift and Objective-C in the Same Project

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift3.0 fmdb
相关文章推荐