MemexSwiftSDK 1.5.1

MemexSwiftSDK 1.5.1

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最新发布2018年9月
SPM支持 SPM

Adam Zdara 维护。



 
依赖
ObjectMapper~> 3.3
ReachabilitySwift~> 4.1.0
KeychainSwift~> 10.0
 

  • 作者:
  • Adam Zdara

Memex Swift SDK

CI Status Version License Platform

什么是 Memex?

Memex 是一个轻量级的个人知识库,具有自动内容管理功能。这意味着它帮助组织每一片知识(笔记、URL、草图、评论等)。这些片段(空间)通过记忆链接相互连接,有助于导航并将它们组合成更紧凑的知识。它就像网页,但更轻量级,并且仅限于个人使用。

空间

Memex 的核心概念是空间,它是一组小块知识的集合/文件夹。它可以是文本片段(文本空间)、笔记或指向其他集合的大量链接集合(集合空间)。

有两个核心类别中的几种标准空间类型

  1. 集合导向 - 由其标题定义/表示
    • 集合 - 指向其他空间的链接的抽象集合
  2. 原子(简称原子) - 由标题和链接媒体定义/表示
    • WebPage - 任何网页的装饰性 URL
    • 文本 - 一小段信息/注释或任何可以被书写的内容
    • 图片 - 视觉知识件

空间具有以下结构

class Space{
  var MUID: String?
  var createdAt: Date?
  var updatedAt: Date?
  var state: ObjectState?
  var caption: String?
  var color: Color?
  var typeIdentifier: String?
  var unread: Bool?
  var ownerID: Int?
  var representations: [Media]?
}

链接

memex的另一个核心原则是连接,这仅仅是两个空间之间的连接。因此,如果两个事物/思想/空间在用户的大脑中存在联系,那么memex中也应该存在有方向的链接。

class Link {
  var MUID: String?
  var createdAt: Date?
  var updatedAt: Date?
  var state: ObjectState?
  var ownerID: Int?
  var order: Int?
  var originSpaceMUID: String?
  var targetSpaceMUID: String? 
}

媒体

可以是的用户头像或空间图像/文本表示的数据。

class Media {
  var MUID: String?
  var createdAt: Date?
  var updatedAt: Date?
  var state: ObjectState?
  var metadata: [String: Any]?
  var dataState: DataState?
  var kind: String?
  var embededData: Data?
  var dataDownloadURL: URL?
  var dataUploadURL: URL?
  var ownerID: Int?
  var representedSpaceMUID: String?
}

智能特征

今天memex支持两个智能功能,将帮助用户自动管理其内容。

自动分类(自动导出)

第一个功能称为自动导出,它会自动将新空间与最合适的已存在空间进行链接。例如,如果用户放下网页地址,并且已经存在相似的集合,那么Memex将尝试自动从该集合创建链接到新创建的空间。请参阅示例部分。

自动截图

你在创建空间集合,但不知道如何命名?Memex提供的另一个智能功能是空间的自动标题/摘要。只需提供一系列空间MUID,我们将告诉您最佳的命名方式。

设置

MemexSwiftSDK 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

1. 创建应用和获取应用程序令牌

前往 Memex Dev Center 创建您的应用。您无需等待批准,然后继续下一步。

2. 将 pod 添加到 podfile

进入您的 Podfile,并添加以下行。

pod "MemexSwiftSDK"

3. 导入模块

将 memex SDK 导入到您想要使用它的每个 Swift 文件中。

import MemexSwiftSDK

4. 使用应用程序令牌配置 SDK

在您的 AppDelegate.swift 或其他任何您初始化库的地方放置此行。

let memex = Memex(appToken: "<YOUR APP TOKEN>")
memex.prepare { error in
  // memex object is ready for usage
}

示例

身份验证

最初支持的用户身份验证方法是使用客户端凭证(邮箱和密码)。

let credentials = new Credentials("[email protected]", "secretPASSWORD")
memex.loginUserWithUserCredentials(credentials) { error in
  guard error == nil else {
    // show login failure dialog
  }
  // let user into app
}
// it can be generated UUID or retrieved from iCloud
let onboardingToken = "xxxx" 
memex.loginUserWithOnboardingToken(onboardingToken) { error in
  guard error == nil else {
    // show login failure dialog
  }
  // let user into app
}

获取原始/空间

如果您想获取用户的原始空间或其他空间,请使用其MUID(Memex唯一标识符)。

memex.getSpace("origin") { space, error in
  guard error == nil else {
    // show error message
  }
  // show space to user and load its links using getSpaceLinks
}

获取链接

memex.getSpaceLinks("origin") { links, error in
  guard error == nil else {
    // show error message
  }
  // show space links
}

创建空间

如果您想在用户的Memex中创建新的空间,可以使用以下代码。

let space = new Space();
space.caption = "iOS 11 Stuff"
space.typeIdentifier = "com.memex.media.collection"
let autodump = true;
memex.createSpace(space, .async, autodump, completion);

文档

SDK的每个功能都使用Swift文档进行了文档记载,并在XCode中使用Alt+Click进行访问。请参阅生成的文档

其他平台API

联系我们

如果您需要其他帮助,请通过与我们联系。