NCMBというバックエンドサービスを使用して、
アプリ開発を行っているのですが、こちらには匿名認証機能というものがあり、
アプリを起動させたときに認証なし(匿名ユーザー)としてncmbのサービスの利用が可能になります。
匿名認証はセッションが切れるまで有効(有効期限は変更可)なのですが、
こちらの記事
に永続的に使えるようなSwiftでの記載がありました。
ですが、同じように記述致しましたらエラーが表示されます。
下記のエラーが出ている部分をどのように変更すれば、
authDataが取得できるのかご存知の方ご教示お願い致します。
import UIKit import NCMB @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. // APIキー let applicationKey = "~~~" //隠してます let clientKey = "~~~" //隠してます // APIキーの設定とSDK初期化 NCMB.initialize(applicationKey: applicationKey, clientKey: clientKey); // 匿名ユーザの自動生成を有効化 NCMBUser.enableAutomaticUser() // 匿名ユーザーでのログイン let result = NCMBUser.automaticCurrentUserInBackground(callback: { result in switch result { case .success: // ログインに成功した場合の処理 print("匿名ユーザーでのログインに成功しました") case let .failure(error): // ログインに失敗した場合の処理 print("匿名ユーザーでのログインに失敗しました: (error)") } }) // ログイン状況の確認 if let user = NCMBUser.currentUser { // 匿名ユーザーでログインしているかの確認 if NCMBAnonymousUtils.isLinked(user: user) { print("匿名ユーザーです。") let authData = user.object(forKey: "authData") as! [String: Any] //Value of type 'NCMBUser' has no member 'object'エラー let uuid = (authData["anonymous"] as! [String: String])["id"] UserDefaults.standard.set(uuid, forKey: "uuid") } else { print("匿名ユーザーではありません。") } } else { print("ログインしていません") } return true } }
あなたの回答
tips
プレビュー