0

一部のビデオへのプライベートリンクを取得するためにcocoapods(use_frameworksの互換性のない使用!他のポッドとの使用)を使用して統合できないため、gitのコードを直接使用してiosアプリ VimeoNetworking に統合しました(私はプロアカウントを持っています)。

動画情報を認証して要求できます。リクエストが返されてクラス (VIMVideo) に割り当てられると、オブジェクトが正しく読み込まれません。

応答が返された場合、ビデオ情報を含む 30 項目の辞書が正しく返されます。

VimeoNetworking のサンプル コードから同じコードを確認しましたが、それは他のプロジェクトで動作します (同じ資格情報を使用し、異なる 1 つのみが Vimeo のポッドを使用し、もう 1 つは使用しません)。

2 つの json 応答を比較すると、どちらも同じデータですが、順序が異なります。問題は AFNetworking (3.1.0) で使用される逆シリアル化にあると感じています。

以前の認証

  let authenticationController = AuthenticationController(client: VimeoClient.defaultClient, appConfiguration: AppConfiguration.defaultConfiguration, configureSessionManagerBlock: nil)

        authenticationController.accessToken(token:tkn) { result in
            switch result
            {
            case .success(let account):
                print("authenticated successfully: \(account)")

                break;
            case .failure(let error):
                print("failure authenticating: \(error)")
            }
        }

ビデオリクエスト

        let requestdir: Request<VIMVideo> = Request<VIMVideo>(path: "/videos/XXXXXXXX")

        let _ = VimeoClient.defaultClient.request(requestdir) { [weak self] result in

            switch result
            {
                case .success(let response):
                    //Here videodir have not value, but 
                    var videodir: VIMVideo! = response.model

                case .failure(let error):
                    let title = "Video Request Failed"
                    let message = "\(requestdir.path) could not be loaded: \(error.localizedDescription)"
                    let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
                    let action = UIAlertAction(title: "OK", style: .default, handler: nil)
                    alert.addAction(action)
                    strongSelf.present(alert, animated: true, completion: nil)
            }
        }

コンソールキャプチャ ( 1 )

VIMEO EXAMPLE からの Pod ファイル (抜粋)

def shared_pods
    pod 'AFNetworking', '3.1.0'
    pod 'SwiftLint', '0.25.1'
    pod 'VimeoNetworking', :path => '../VimeoNetworking'
end

プロジェクトの Pod ファイル (抽出)

target 'LibroDig' do
   pod 'RestKit', '~> 0.27.3'
   pod 'JSONModel'
   pod 'SDWebImage', '~>3.8'
   pod 'AFNetworking', '3.1.0'
end

VIMVideo がすべてのプロパティを正しくロードすることを期待していました。2 つの実装の違いを見つけることができません。

前もって感謝します

4

1 に答える 1