やりたいことと背景
SalesforceのREST APIを叩いて情報を取得したい。
APIを叩く処理自体はMobileSDK以外のライブラリを使ってすでに実装されており、クエリ・アクセストークン・インスタンスURLを渡す使用になっているのでそれを使いたい。
注意点と制限事項
やりたいこととしては上記の通りでしたが、この方法だと「アクセストークンの期限が切れた後にリフレッシュする手段がSDKに用意されていない」ようで、実用には適さないようです。この使い方はデバッグ用途に留めておき、上記のようなケースでは他のライブラリを使ってREST APIを叩くのをやめ、素直にMobile SDKを使う実装に書き換えるのがよさそうです。
コード
以下のようにUserAccountManagerの共有インスタンスを取得することで現在選択しているアカウントのアクセストークンやインスタンスURLを取得することができます。
let credentials = UserAccountManager.shared.currentUserAccount!.credentials
let token = credentials.accessToken
let instanceURL = credentials.instanceUrl
環境
Salesforce MobileSDK 9.2
XCode 13.2.1
MaxOS Monterey 12.1