美文网首页iOS学习征服iOSiOS程序猿
在Swift3中使用FMDB遇到的问题

在Swift3中使用FMDB遇到的问题

作者: 重睛鸟 | 来源:发表于2017-07-13 16:53 被阅读126次

状况

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

解决方法

  1. 在桥接文件 "XXX-Bridging-Header.h" 中的引用方式改变成<code>#import <FMDB/FMDB.h></code>
  2. 在需要调用的类里加上<code>import FMDB</code>,编译成功。
示例代码

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

参考资料

  1. 在xcode 6.4 中使用swift和object-c混合编程,同时通过cocoapods进行管理的一些问题和解决办法]( http://blog.csdn.net/remote_roamer/article/details/47835347)
  2. cocoapods use_frameworks的问题
  3. Swift and Objective-C in the Same Project

相关文章

  • 在Swift3中使用FMDB遇到的问题

    状况 OC项目转Swift,打算继续使用FMDB。Cocoapods进来后,在桥接文件 "XXX-Bridging...

  • iOS FMDB的使用

    FMDB在项目中的使用 一. 首先导入FMDB三方库:在podfile 文件中添 pod 'FMDB' 然后在...

  • 使用FMDB遇到的错误:_OBJC_CLASS_$_FMData

    _OBJC_CLASS_$_FMDatabase: 今天在使用FMDB这个库的时候,遇到了上边这个让人很头疼的问题...

  • iOS FMDB增删改查

    FMDB是一款简洁、易用的封装库,下面简单介绍下FMDB的使用: 在FMDB下载文件后,导入工程中,并使用 lib...

  • FFDB

    FMDB的使用 FMDBDemo 目录 1、FMDB介绍2、FMDB导入3、FMDB框架中重要的框架类3.1、FM...

  • FMDB在swift中的使用

    1.什么是FMDB 由于iOS中使用C语言函数对原生SQLite数据库进行增删改查操作,复杂麻烦,所以就出现了一系...

  • 学习swift3 中遇到的问题

    将int? 转成string 类型时报错 Cast from 'Int?' to unrelated type '...

  • Swift 新特性记录

    Swift4 1、setValuesForKeys 无法使用问题在swift3中,编译器自动推断@objc(自动添...

  • FMDB错误 obj = va_arg(args, id);

    如果你再使用FMDB时遇到和上图一样的问题,那么?你,你遇到的是和我一样的错误,错误原因:是由于我们在调用 exe...

  • iOS开发·FMDB的使用与知识梳理

    一、FMDB的介绍二、FMDB的使用说明三、FMDB的创建和使用方法 一、FMDB的介绍 FMDB是构建在SQLi...

网友评论

    本文标题:在Swift3中使用FMDB遇到的问题

    本文链接:https://www.haomeiwen.com/subject/yyvwhxtx.html