无法使用最新的Firebase框架读取/写入Nest Firebase的值
我一直试图将嵌套整合到我的iOS应用程序中,遵循关于用户authentication的所有说明,然后调用嵌套API。 我使用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帐户login和授权。
我想他们正在使用一个旧的Firebase框架,所以我从他们的项目中删除了该框架,并添加了新的框架。 同样的结果 – 现在他们的项目应用程序不再返回任何结构/设备/恒温器。 我注意到authWithCredential现在已经被弃用了…所以我试图在应用程序和应用程序中使用authWithCustomToken来查看它是否会有所不同,但是当我尝试从Nest获取信息时,它似乎成功授权…
我在我的应用程序中使用我自己的Firebase的其他function,这取决于使用最新的框架,所以我不想使用旧版本。
有没有人遇到这个问题? 任何想法/解决scheme?
任何帮助将非常感激。
是的,从SDK版本1.2.1升级到2.0.1时,我遇到同样的问题。 身份validation似乎成功,但没有其他数据从服务器返回。
恢复到1.2.1可能会解决我的问题(我用1.2.1编译的应用程序的testing版仍然正常工作),但是不幸的是我丢失了之前使用的框架文件,而FireBase似乎没有公共存档旧版本的框架。
我现在被迫使用1.1.8(在Nest的示例应用程序中使用),将authWithCustomToken
更改为authWithCredential
,因为后者显然是在1.2中引入的。
就你而言,你必须等待Nest的Firebase来修复阻止2.0.x与Nest API协同工作的问题。