iOS开发 数据存储之WCDB的介绍

一.介绍

WCDB是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS,macOS和Android

二.基本特性

  • 易用,WCDB支持一句代码即可将数据取出并组合为object
    • WINQ(WCDB语言集成查询):通过WINQ,开发者无须为了拼接SQL的字符串而写一大坨胶水代码
    • ORM(Object Relational Mapping):WCDB支持灵活、易用的ORM.开发者可以很便捷地定义表、索引、约束,并进行增删改查操作
      [database getObjectsOfClass:WCTSampleConvenient.class
                        fromTable:tableName
                            where:WCTSampleConvenient.intValue>=10
                            limit:20];
  • 高效,WCDB通过框架层和sqlcipher源码优化,使其更高效的表现
    • 多线程高并发:WCDB支持多线程读与读、读与写并发执行,写与写串行执行
    • 批量写操作性能测试

      更多关于WCDB的性能数据,请参考benchmark

  • 完整,WCDB覆盖了数据库相关各种场景的所需功能.
    • 加密:WCDB提供基于SQLCipher的数据库加密
    • 损坏修复:WCDB内建了Repair Kit用于修复损坏的数据库
    • 反注入:WCDB内建了对SQL注入的保护

三.入门

1.基本要求

  • WCDB支持iOS 7、macOS 10.9以上
  • WCDB需使用Xcode 8.0以上版本进行编译
  • 需使用Objective-C++

2.安装

  • 通过Carthage安装
    1. 先安装Carthage
    2. 在Cartfile中添加 github "Tencent/WCDB",并执行carthage update
    3. 将 Carthage/Build/目录下iOS或Mac的 WCDB.framework 添加到你的项目工程配置的Build Phases->Linked Binary and Libraries中。
    4. 点击你的项目工程配置的Build Phases中的+选项,在弹出菜单中选择New Run Script Phase。在创建的脚本中添加 carthage copy-frameworks ,并在Input Files中添加对应平台的路径$(SRCROOT)/Carthage/Build/iOS/WCDB.framework 或 $(SRCROOT)/Carthage/Build/Mac/WCDB.framework
    5. 在你的代码文件头引入头文件#import <WCDB/WCDB.h>
    6. 由于WCDB是基于Objective-C++,因此需要将引用WCDB的源文件后缀.m改为.mm
  • 通过cocoapods安装
    1. 先安装Cocoapods
    2. 通过 pod repo update 更新WCDB的cocoapods版本。
    3. 在Podfile对应的target中,添加pod 'WCDB',并执行pod install
    4. 在项目中使用CocoaPods生成的.xcworkspace运行工程。
    5. 在你的代码文件头引入头文件#import <WCDB/WCDB.h>
    6. 由于WCDB是基于Objective-C++,因此需要将引用WCDB的源文件后缀.m改为.mm
  • 通过动态库安装: 动态库与iOS 7不兼容,因此需支持iOS 7的需要通过静态库安装。
    1. 获取WCDB源码,并更新sqlcipher的submodule。
      • git clone https://github.com/Tencent/wcdb.git
      • cd wcdb
      • git submodule update --init sqlcipher
    2. WCDB.xcodeproj添加到你的工程中.
    3. 在你的项目工程配置的General->Enbedded Binaries中添加WCDB.framework注意这里有两个WCDB.framework,要选择动态库那个。选完后可在Build Phases->Target Dependencies中确认,若为WCDB则正确,而WCDB iOS Static则是静态库使用的。
    4. 在你的代码文件头引入头文件#import <WCDB/WCDB.h>
    5. 由于WCDB是基于Objective-C++,因此需要将引用WCDB的源文件后缀.m改为.mm
  • 通过静态库安装:
    1. 获取WCDB源码,并更新sqlcipher的submodule。
      • git clone https://github.com/Tencent/wcdb.git
      • cd wcdb
      • git submodule update --init sqlcipher
    2. WCDB.xcodeproj添加到你的工程中.
    3. 在你的项目工程配置的Build Phases->Target Dependencies中添加WCDB iOS Static.framework
    4. 在你的项目工程配置的Build Phases->Linked Binary and Libraries中添加WCDB.frameworklibz.tbd注意,这里有两个WCDB.framework,需要添加WCDB iOS Statictarget下的WCDB.framework
    5. 在你的项目工程配置的Build Settings->Other Linker Flags中添加-all_load-ObjC
    6. 在你的代码文件头引入头文件#import <WCDB/WCDB.h>
    7. 由于WCDB是基于Objective-C++,因此需要将引用WCDB的源文件后缀.m改为.mm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值