3

ユーザー認証に関するすべての指示に従い、ネスト API を呼び出して、ネストを iOS アプリケーションに統合しようとしています。Nest の iOS サンプル アプリを参考にしました。

https://github.com/nestlabs/iOS-NestDK

彼らのプロジェクトが機能していることを確認しました。これは、「データ」に何かが設定されているかどうかを確認するために変更したプロジェクトからのコードです。

    self.rootFirebase = [[Firebase alloc] initWithUrl:@"https://developer-api.nest.com/"];
    [self.rootFirebase authWithCredential:[[NestAuthManager sharedManager] accessToken] withCompletionBlock:^(NSError *error, id data)
     {
         if (error)
         {
             NSLog(@"Auth Failed! %@", error);
         }
         else
         {
             NSLog(@"Auth succeeded! %@", data);

     } withCancelBlock:^(NSError *error) {}];

最新の Firebase フレームワークを使用してコードでまったく同じ関数 authWithCredential を使用すると、エラーは表示されず、データを含む応答が得られます。ただし、次のようなコードで呼び出しを行います。

Firebase *newFirebase = [self.rootFirebase childByAppendingPath:@"devices"];

             [newFirebase observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot)
              {
                  NSLog(@"Got devices: %@", snapshot.value);
              }];

何も返されません。提供されたアプリに表示されているため、いくつかのデバイスがセットアップされていることを確認しました。彼らのアプリと私のアプリの両方で、同じ Nest アカウントでログインして認証しました。

彼らは古い Firebase フレームワークを使用していると考えたので、そのフレームワークをプロジェクトから削除し、新しいフレームワークに追加しました。同じ結果 - プロジェクト アプリが構造、デバイス、サーモスタットを返さなくなりました。authWithCredential が非推奨になっていることに気付きました...そのため、アプリと自分のアプリの両方で authWithCustomToken を使用して、違いがあるかどうかを確認しようとしましたが、Nest から情報を取得しようとしても何も返されません。正常に認証されているようです...

最新のフレームワークの使用に依存するアプリの他の機能に独自の Firebase を使用しているため、古いバージョンは使用したくありません。

他の誰かがこの問題に遭遇しましたか? 考え/解決策はありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

3

はい、SDK バージョン 1.2.1 から 2.0.1 にアップグレードするときに同じ問題が発生します。認証は成功したようですが、サーバーから返される他のデータはありません。

1.2.1 に戻すと問題が解決する可能性があります (1.2.1 でコンパイルされた私のアプリのベータ版は引き続き正常に動作します)。フレームワークの古いバージョン。

後者は明らかに1.2で導入された ため、1.1.8(Nestのサンプルアプリで使用)を使用せざるを得なくなり、に変更authWithCustomTokenしました。authWithCredential

あなたの場合、Nest の Firebase が 2.0.x が Nest API で動作するのを妨げる問題を修正するのを待つ必要があります。

于 2014-11-09T14:21:22.760 に答える