2014-11-07 1 views
3

사용자 인증과 관련된 모든 지시 사항을 따르고 nest API를 호출하면 iOS 어플리케이션에 Nest를 통합하려고했습니다. 나는 참고로 둥지의 아이폰 OS 예제 응용 프로그램을 사용 : 나는 자신의 프로젝트가 작동하는지 확인최신 Firebase Framework로 Nest Firebase에 값을 쓸 수 없거나 쓸 수 없습니다.

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

. "데이터"로 설정된 것이 있는지 살펴보고 보도록 수정 한 프로젝트의 코드입니다. 최신 중포 기지 프레임 워크 내 코드에서 똑같은 기능 authWithCredential를 사용

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 * newFirebase = [self.rootFirebase childByAppendingPath : @ "devices"];

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

아무 것도 반환되지 않습니다. 그들이 제공 한 앱에 표시되는 것처럼 몇 가지 기기가 설정되어 있음을 확인했습니다. 나는 그들의 앱과 나의 동일한 네스트 계정으로 로그인하여 권한을 부여 받았다.

그들은 Firebase 프레임 워크를 사용하고 있다고 생각했기 때문에 프로젝트에서 프레임 워크를 제거하고 새로운 프레임 워크에 추가했습니다. 같은 결과 - 이제는 프로젝트 앱이 더 이상 구조/장치/자동 온도 조절기를 반환하지 않습니다. authWithCredential은 이제 더 이상 사용되지 않는 것으로 나타났습니다 ... 그래서 authWithCustomToken을 앱과 앱에서 사용하여 서로 다르 겠지만 그래도 Nest에서 정보를 수집하려고 할 때 아무것도 반환하지 않으려 고 시도했습니다. 성공적으로 승인하는 것 같습니다 ...

저는 최신 프레임 워크 사용에 의존하는 내 응용 프로그램의 다른 기능을 위해 자체 Firebase를 사용하므로 이전 버전을 사용하고 싶지 않습니다.

누구도이 문제를 겪었습니까? 어떤 생각/해결책?

도움을 주시면 감사하겠습니다.

답변

3

예, SDK 버전 1.2.1에서 2.0.1로 업그레이드 할 때 동일한 문제가 있습니다. 인증이 성공한 것 같지만 서버에서 다른 데이터가 다시 나오지 않습니다.

1.2.1로 되 돌리는 것이 내 문제 (1.2.1로 컴파일 된 내 응용 프로그램의 베타 버전은 여전히 ​​정상적으로 작동 함)를 해결할 수 있지만 불행히도 이전에 사용한 프레임 워크 파일이 손실되어 FireBase에없는 것으로 보입니다. 이전 버전의 프레임 워크에 대한 공개 아카이브

이제 Nest의 샘플 앱에서 사용되는 1.1.8을 사용하고, authWithCustomTokenauthWithCredential으로 변경합니다. 이는 후자가 1.2에 도입 된 것이므로.

경우에 따라 Nest Firebase가 2.0.x가 Nest API로 작업하지 못하게하는 문제를 해결할 때까지 기다려야합니다.

+2

정확합니다. 지원되는 Firebase 버전 목록은 다음과 같습니다. https://developer.nest.com/documentation/cloud/firebase-client-libraries Nest는 Firebase의 인스턴스를 실행하기 때문에, 변경 사항이 적용될 때마다 수시로 동기화됩니다. 업데이트하기 전에 가장 최신 버전이 지원되는지 확인하는 것이 가장 좋습니다. –

+0

고마워, 나는이 문제를보고있는 유일한 사람이 아니었기 때문에 기쁩니다. –