获取 SDK 有多种方式,较为推荐的方式是通过包依赖管理工具下载最新版本。
通过 CocoaPods 或者 Swift Package Manager 安装可以最大化地简化安装过程。
首先,确保开发环境中已经安装了最新版 pod。如果没有,请参考官网的 INSTALL 文档。
pod
接着,在项目根目录下通过命令行工具执行下列命令生成 Podfile 文件:
Podfile
$ pod init
参考 GET STARTED 文档,在 Podfile 文件中的 target 里添加 pod 依赖:
target
pod 'LeanCloud'
或者使用 Subspecs 方式:
pod 'LeanCloud/Foundation' # 数据存储、短信、推送、云引擎等基础服务模块,必选 pod 'LeanCloud/RTM' # 即时通讯、LiveQuery 模块,可选
注意,LeanCloud/RTM 依赖了 LeanCloud/Foundation,所以不同模块的版本号必需保持一致。
LeanCloud/RTM
LeanCloud/Foundation
最后,在项目根目录下执行下列任意命令,集成最新的 SDK:
$ pod update
或者
$ pod install --repo-update
集成 SDK 成功后,使用项目根目录下 <项目名称>.xcworkspace 来打开项目。
<项目名称>.xcworkspace
参考 Apple 官方提供的集成文档,添加 Swift SDK Repo 即可。
下载 Swift SDK 源码后,也需要等待 Swift Package Manager 下载并集成其它依赖,所以推荐直接使用 Swift Package Manager。
首先进入 云服务控制台 > 设置 > 应用凭证 来获取 App ID,App Key 以及服务器地址。
打开 AppDelegate.swift 文件,添加下列导入语句到头部:
AppDelegate.swift
import LeanCloud
然后在 application(_:didFinishLaunchingWithOptions:) 函数内设置 App ID,App Key 以及服务器地址:
application(_:didFinishLaunchingWithOptions:)
do { try LCApplication.default.set( id: {{appid}}, key: {{appkey}}, serverURL: "https://please-replace-with-your-customized.domain.com") } catch { print(error) }
在使用 SDK 的 API 时,请确保进行了 Application 的 ID、Key 以及 Server URL 的初始化。
请将 https://please-replace-with-your-customized.domain.com 替换为你的应用绑定的 API 域名。
https://please-replace-with-your-customized.domain.com
国际版应用不要求绑定自定义域名。 如果你的国际版应用(App ID 后缀为 -MdYXbMMI)没有绑定自定义域名,初始化 SDK 时不用传入服务器地址参数。 极个别 App ID 后缀不为 -MdYXbMMI 的国际版应用,请参见这里的说明。
-MdYXbMMI
//国际版应用初始化: do { try LCApplication.default.set( id: {{appid}}, key: {{appkey}}) } catch { print(error) }
在应用开发阶段,你可以选择开启 SDK 的调试日志(debug log)来方便追踪问题。调试日志开启后,SDK 会把网络请求、错误消息等信息输出到 IDE 的日志窗口,或是浏览器 Console 或是云引擎日志(如果在云引擎下运行 SDK)。
// 在 Application 初始化代码执行之前执行 LCApplication.logLevel = .all
注意,在应用发布之前,请关闭调试日志,以免暴露敏感数据。
首先,确认本地网络环境是可以访问云端服务器的,可以执行以下命令:
curl "https://API_BASE_URL/1.1/date"
API_BASE_URL 为绑定的 API 自定义域名。
API_BASE_URL
如果当前网络正常会返回当前时间:
{"__type":"Date","iso":"2020-10-12T06:46:56.000Z"}
下面来试着向 LeanCloud 云端保存一条数据,将下面的代码拷贝到 viewDidLoad 函数或其它在应用运行时会被调用的函数中:
viewDidLoad
do { let testObject = LCObject(className: "TestObject") try testObject.set("words", value: "Hello world!") let result = testObject.save() if let error = result.error { print(error) } } catch { print(error) }
然后,点击 Run 运行调试,真机和虚拟机均可。
Run
然后打开 云服务控制台 > 数据存储 > 结构化数据 > TestObject,如果看到数据表中出现一行「words」列的值为「Hello world!」的数据,说明 SDK 已经正确地执行了上述代码,配置完毕。
TestObject
如果控制台没有发现对应的数据,请参考 问题排查。
SDK 安装指南基于当前最新版本的 SDK 编写,所以排查问题前,请先检查下安装的 SDK 是不是最新版本。
401 Unauthorized
如果 SDK 抛出 401 异常或者查看本地网络访问日志存在:
401
{ "code": 401, "error": "Unauthorized." }
则可认定为 App ID 或者 App Key 输入有误,或者是不匹配,很多开发者同时注册了多个应用,导致拷贝粘贴的时候,用 A 应用的 App ID 匹配 B 应用的 App Key,这样就会出现服务端鉴权失败的错误。
客户端尤其是手机端,应用在访问网络的时候需要申请一定的权限。
Swift SDK 安装指南
获取 SDK
获取 SDK 有多种方式,较为推荐的方式是通过包依赖管理工具下载最新版本。
包依赖管理工具安装
通过 CocoaPods 或者 Swift Package Manager 安装可以最大化地简化安装过程。
CocoaPods
首先,确保开发环境中已经安装了最新版
pod
。如果没有,请参考官网的 INSTALL 文档。接着,在项目根目录下通过命令行工具执行下列命令生成
Podfile
文件:参考 GET STARTED 文档,在
Podfile
文件中的target
里添加 pod 依赖:或者使用 Subspecs 方式:
最后,在项目根目录下执行下列任意命令,集成最新的 SDK:
或者
集成 SDK 成功后,使用项目根目录下
<项目名称>.xcworkspace
来打开项目。Swift Package Manager
参考 Apple 官方提供的集成文档,添加 Swift SDK Repo 即可。
手动安装
初始化
首先进入 云服务控制台 > 设置 > 应用凭证 来获取 App ID,App Key 以及服务器地址。
打开
AppDelegate.swift
文件,添加下列导入语句到头部:然后在
application(_:didFinishLaunchingWithOptions:)
函数内设置 App ID,App Key 以及服务器地址:在使用 SDK 的 API 时,请确保进行了 Application 的 ID、Key 以及 Server URL 的初始化。
请将
https://please-replace-with-your-customized.domain.com
替换为你的应用绑定的 API 域名。国际版应用不要求绑定自定义域名。 如果你的国际版应用(App ID 后缀为
-MdYXbMMI
)没有绑定自定义域名,初始化 SDK 时不用传入服务器地址参数。 极个别 App ID 后缀不为-MdYXbMMI
的国际版应用,请参见这里的说明。开启调试日志
在应用开发阶段,你可以选择开启 SDK 的调试日志(debug log)来方便追踪问题。调试日志开启后,SDK 会把网络请求、错误消息等信息输出到 IDE 的日志窗口,或是浏览器 Console 或是云引擎日志(如果在云引擎下运行 SDK)。
注意,在应用发布之前,请关闭调试日志,以免暴露敏感数据。
验证
首先,确认本地网络环境是可以访问云端服务器的,可以执行以下命令:
API_BASE_URL
为绑定的 API 自定义域名。如果当前网络正常会返回当前时间:
下面来试着向 LeanCloud 云端保存一条数据,将下面的代码拷贝到
viewDidLoad
函数或其它在应用运行时会被调用的函数中:然后,点击
Run
运行调试,真机和虚拟机均可。然后打开 云服务控制台 > 数据存储 > 结构化数据 >
TestObject
,如果看到数据表中出现一行「words」列的值为「Hello world!」的数据,说明 SDK 已经正确地执行了上述代码,配置完毕。如果控制台没有发现对应的数据,请参考 问题排查。
问题排查
SDK 安装指南基于当前最新版本的 SDK 编写,所以排查问题前,请先检查下安装的 SDK 是不是最新版本。
401 Unauthorized
如果 SDK 抛出
401
异常或者查看本地网络访问日志存在:则可认定为 App ID 或者 App Key 输入有误,或者是不匹配,很多开发者同时注册了多个应用,导致拷贝粘贴的时候,用 A 应用的 App ID 匹配 B 应用的 App Key,这样就会出现服务端鉴权失败的错误。
客户端无法访问网络
客户端尤其是手机端,应用在访问网络的时候需要申请一定的权限。