Epic Online Services のSDKでログインするまでの流れ(Swift) / magicien 

Epic Online Services のSDKをSwiftから使うの続き。

C++のサンプルをそのまま書き換えれば動くけれど、GUIに関わる部分を排除してログインに必要な処理のみをSwiftに書き換えると次のようになる。

大まかな流れ

1. アプリの初期化(EOS_Initialize)
2. ログ用コールバックの設定(EOS_Logging_SetCallback)
3. プラットフォームの初期化(EOS_Platform_Create)
4. Tick用コールバックの設定(CVDisplayLinkStart -> EOS_Platform_Tick)
5. ログイン処理(EOS_Auth_Login)

EOSの内部処理は EOS_Platform_Tick をトリガとして処理が進んでいくので、定期的に(毎フレーム)EOS_Platform_Tick を呼ぶ必要があることに注意。
3. で必要なIDがどこに書いてあるかは、 「Epic Online Services のサンプルをMacでコンパイルして動かす」の「6.4. Product情報を集める」を参照。

文字列の型を変換する

APIで文字列を渡す部分はC言語用に直さないといけないので、
let productName = "Test".cString(using: .ascii)
productName?.withUnsafeBufferPointer {
    initOptions.ProductName = $0.baseAddress
}
こんな感じで String から UnsafePointer に変換して渡す。

今回はここまで。

続き:Epic Online Services のSDKでログインしたユーザの情報を取得する(Swift)

2020/05/24(Sun) 22:03:35