Skip to content

iOS_setup_cn

guoling edited this page Jul 9, 2024 · 5 revisions

MMKV for iOS/macOS

MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。近期也已移植到 Android / macOS / Windows / POSIX 平台,一并开源。

iOS/macOS 安装指南

基本要求

  • MMKV 支持 iOS 12.0 以上, macOS 10.13 以上,WatchOS 4.0 以上
  • MMKV 需使用 Xcode 15.0 以上进行编译

安装引入

  • 通过 CocoaPods:(推荐)

    1. 安装 CocoaPods
    2. 打开命令行, cd 到你的项目工程目录, 输入 pod repo update 让 CocoaPods 感知最新的 MMKV 版本;
    3. 打开 Podfile, 添加pod 'MMKV'到你的 App Target 里面;或 pod 'MMKVAppExtension' 到你的 AppExtension Target 里,或 pod 'MMKVWatchExtension' 到你的 WatchExtension Target 里;
    4. 在命令行输入 pod install
    5. 用 Xcode 打开由 CocoaPods 自动生成的 .xcworkspace 文件;
    6. 添加头文件 #import <MMKV/MMKV.h>,就可以愉快地开始你的 MMKV 之旅了。
    7. 相应地,如果是其他 Extension Target,头文件也要相应地变更为<MMKVAppExtension/MMKV.h><MMKVWatchExtension/MMKV.h>
  • 通过 Carthage:

    1. 安装 Carthage
    2. 打开 Cartfile, 添加 github "Tencent/MMKV"
    3. 打开命令行, cd 到你的 project 目录, 输入 carthage update
    4. Carthage/Build/ 目录下的 MMKV.framework 拖到你的项目工程配置的 Build Phases -> Linked Binary and Libraries 里面;
    5. 点击你的项目工程配置的 Build Phases 中 "+" 按钮,选择 New Run Script Phase。在创建的脚本中输入 carthage copy-frameworks, 并在 Input Files 中添加路径 $(SRCROOT)/Carthage/Build/iOS/MMKV.framework, 在 Output Files 中添加路径 $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/MMKV.framework
    6. 添加头文件 #import <MMKV/MMKV.h>,就可以愉快地开始你的 MMKV 之旅了。

    注意: Carthage 对于多个 scheme 未能很好地支持,如果你打算在 Extension 里使用 MMKV,建议使用其他方式集成。

  • 通过动态库:

    1. 获取 MMKV 源码:
      • git clone https://github.com/Tencent/MMKV.git
    2. iOS/MMKV/ 目录下的 MMKV.xcodeproj 拖到你的项目里;
    3. 在你的项目工程配置的 General settings -> Enbedded Binaries 添加 MMKV.framework注意这里有两个库,要选择动态库那个;
    4. 相应地,如果是 AppExtension 则添加 MMKVAppextension.framework,如果是 WatchExtension 则添加 MMKVWatchExtension.framework
    5. 添加头文件 #import <MMKV/MMKV.h>,就可以愉快地开始你的 MMKV 之旅了。

    注: 如果你确定不需要加密功能,你可以在Core/MMKVPredef.h 文件中打开宏MMKV_DISABLE_CRYPT,以减小一些二进制大小。

  • 通过静态库:

    1. 获取 MMKV 源码:
      • git clone https://github.com/Tencent/MMKV.git
    2. iOS/MMKV/ 目录下的 MMKV.xcodeproj 拖到你的项目里;
    3. 在你的项目工程配置的 Build Phases -> Target Dependencies 添加 libMMKV Static.a注意这里有两个库,要选择静态库那个;
    4. 在你的项目工程配置的 Build Phases -> Linked Binary and Libraries 添加 libMMKV Static.alibz.tbd
    5. 在你的项目工程配置的 Build Settings -> Other Linker Flags 添加 -ObjC
    6. 添加头文件 #import <MMKV/MMKV.h>,就可以愉快地开始你的 MMKV 之旅了;
    7. 如果你想在 AppExtension 或 WatchExtension 里使用 MMKV,你应该用动态库的形式集成。

    注: 如果你确定不需要加密功能,你可以在Core/MMKVPredef.h 文件中打开宏MMKV_DISABLE_CRYPT,以减小一些二进制大小。

下一步