小编Swu*_*hai的帖子

在iOS和watchOS之间同步身份验证数据的最佳方法是什么?

我在iOS和watchOS之间同步用户凭据时遇到问题.

我的基本设置是我的iOS应用程序和watchOS应用程序都需要与后端服务器通信,并且它们都需要访问令牌来执行此操作.但是,用户只能登录iOS应用程序(因为需要输入用户和密码).

现在,当用户登录iOS(或之后打开应用程序)时,我使用updateApplicationContext()将用户的凭据发送到watchOS.用户注销时也会执行类似的操作,如下所示:

func logInOnWatch() {
    if WCSession.isSupported() {
        session.activate()

        var userInfo = [String : Any]()
        userInfo["type"] = "logInConfirm"
        userInfo[userKey.isLoggedIn] = true
        let deviceUserID = KeychainAccess.password(for: userKey.ID, service: userKey.keyChain)
        userInfo[userKey.ID] = deviceUserID
        let accessTokenSecret = KeychainAccess.password(for: userKey.accessTokenSecret, service: userKey.keyChain)
        userInfo[userKey.accessTokenSecret] = accessTokenSecret

        do {
            try session.updateApplicationContext(userInfo)
        }
        catch {
            print(error)
        }
    }
}

func logOutOnWatch() {
    if WCSession.isSupported() {
        session.activate()

        var dict = [String : Any]()
        dict["type"] = "logInConfirm"
        dict["logInStatus"] = "User Has Not Logged In"

        do {
            try session.updateApplicationContext(dict) …
Run Code Online (Sandbox Code Playgroud)

ios watchkit watchos watchconnectivity wcsession

6
推荐指数
0
解决办法
462
查看次数

标签 统计

ios ×1

watchconnectivity ×1

watchkit ×1

watchos ×1

wcsession ×1