- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用适用于 iOS 的 Firebase UI 通过 google 或 facebook 登录我的应用。我刚刚将 pod 更新到这个版本:
Installing FBSDKCoreKit 4.31.1 (was 4.31.0)
Installing FBSDKLoginKit 4.31.1 (was 4.31.0)
Installing Fabric 1.7.6 (was 1.7.5)
Installing Firebase 4.12.0 (was 4.9.0)
Installing FirebaseAnalytics 4.1.0 (was 4.0.9)
Installing FirebaseAuth 4.6.0 (was 4.4.3)
Installing FirebaseCore 4.0.19 (was 4.0.15)
Installing FirebaseInstanceID 2.0.10 (was 2.0.9)
Installing FirebaseMessaging 2.2.0 (was 2.1.0)
Installing FirebaseUI 4.5.5 (was 4.5.1)
Installing GTMSessionFetcher 1.1.15 (was 1.1.14)
但是现在调用 getIDTokenForcingRefresh
时出现错误。这是错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
在 GTMSessionFetcher
的这一部分
- (void)invokeFetchCallbacksOnCallbackQueueWithData:(GTM_NULLABLE NSData *)data
error:(GTM_NULLABLE NSError *)error {
// Callbacks will be released in the method stopFetchReleasingCallbacks:
GTMSessionFetcherCompletionHandler handler;
@synchronized(self) {
GTMSessionMonitorSynchronized(self);
handler = _completionHandler;
if (handler) {
[self invokeOnCallbackQueueUnlessStopped:^{
handler(data, error); // <-- Error appends here (data is nil)
// Post a notification, primarily to allow code to collect responses for
// testing.
//
// The observing code is not likely on the fetcher's callback
// queue, so this posts explicitly to the main queue.
NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
if (data) {
userInfo[kGTMSessionFetcherCompletionDataKey] = data;
}
if (error) {
userInfo[kGTMSessionFetcherCompletionErrorKey] = error;
}
[self postNotificationOnMainThreadWithName:kGTMSessionFetcherCompletionInvokedNotification
userInfo:userInfo
requireAsync:NO];
}];
}
} // @synchronized(self)
}
这是我的代码:
func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) {
if let error = error {
print(error)
return
}
if let authDataResultUser = authDataResult?.user {
authDataResultUser.getIDTokenForcingRefresh(true) { idToken, error in
if error != nil {
print()
return
}
// .....
}
}
}
最佳答案
这是 Firebase iOS SDK 的错误,现在已修复。根据 here,此修复程序将作为 4.12.1 发布.链接还包含发布前的解决方法说明。
或者,如果您想要您的 Pod:
我能够在我的项目中成功使用以下版本。我在我的 Podfile
中查找所有特定版本的 Firebase 库时遇到了一些麻烦,不得不改用 .lock
文件。我能够在我的项目中成功使用以下版本。如果您运行 pod install
,Cocoapods 将解析不在您的 Podfile.lock
中的任何依赖项。根据 Cocoapods docs ,
For pods listed in the Podfile.lock, it downloads the explicit version listed in the Podfile.lock without trying to check if a newer version is available
我的建议是尝试将 Podfile.lock
中对 Firebase 的引用替换为以下内容,直到 Firebase SDK 团队解决此问题:
PODS:
- Firebase/Auth (4.8.2):
- Firebase/Core
- FirebaseAuth (= 4.4.2)
- Firebase/Core (4.8.2):
- FirebaseAnalytics (= 4.0.9)
- FirebaseCore (= 4.0.14)
- Firebase/Database (4.8.2):
- Firebase/Core
- FirebaseDatabase (= 4.1.4)
- Firebase/DynamicLinks (4.8.2):
- Firebase/Core
- FirebaseDynamicLinks (= 2.3.2)
- Firebase/Firestore (4.8.2):
- Firebase/Core
- FirebaseFirestore (= 0.10.0)
- Firebase/Messaging (4.8.2):
- Firebase/Core
- FirebaseMessaging (= 2.0.8)
- Firebase/Performance (4.8.2):
- Firebase/Core
- FirebasePerformance (= 1.1.1)
- Firebase/Storage (4.8.2):
- Firebase/Core
- FirebaseStorage (= 2.1.2)
- FirebaseAnalytics (4.0.9):
- FirebaseCore (~> 4.0)
- FirebaseInstanceID (~> 2.0)
- "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
- nanopb (~> 0.3)
- FirebaseAuth (4.4.2):
- FirebaseAnalytics (~> 4.0)
- "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
- GTMSessionFetcher/Core (~> 1.1)
- FirebaseCore (4.0.14):
- "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
- FirebaseDatabase (4.1.4):
- FirebaseAnalytics (~> 4.0)
- FirebaseCore (~> 4.0)
- leveldb-library (~> 1.18)
- FirebaseDynamicLinks (2.3.2):
- FirebaseAnalytics (~> 4.0)
- FirebaseFirestore (0.10.0):
- FirebaseAnalytics (~> 4.0)
- FirebaseCore (~> 4.0)
- gRPC-ProtoRPC (~> 1.0)
- leveldb-library (~> 1.18)
- Protobuf (~> 3.1)
- FirebaseInstanceID (2.0.8):
- FirebaseCore (~> 4.0)
- FirebaseMessaging (2.0.8):
- FirebaseAnalytics (~> 4.0)
- FirebaseCore (~> 4.0)
- FirebaseInstanceID (~> 2.0)
- GoogleToolboxForMac/Logger (~> 2.1)
- Protobuf (~> 3.1)
- FirebasePerformance (1.1.1):
- FirebaseAnalytics (~> 4.0)
- FirebaseInstanceID (~> 2.0)
- FirebaseSwizzlingUtilities (~> 1.0)
- GoogleToolboxForMac/Logger (~> 2.1)
- "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
- GTMSessionFetcher/Core (~> 1.1)
- Protobuf (~> 3.1)
- FirebaseStorage (2.1.2):
- FirebaseAnalytics (~> 4.0)
- FirebaseCore (~> 4.0)
- GTMSessionFetcher/Core (~> 1.1)
- FirebaseSwizzlingUtilities (1.0.0)
- FirebaseUI (4.5.1):
- FirebaseUI/All (= 4.5.1)
- FirebaseUI/All (4.5.1):
- FirebaseUI/Auth
- FirebaseUI/Database
- FirebaseUI/Facebook
- FirebaseUI/Firestore
- FirebaseUI/Google
- FirebaseUI/Phone
- FirebaseUI/Storage
- FirebaseUI/Twitter
- FirebaseUI/Auth (4.5.1):
- Firebase/Auth (~> 4.2)
- FirebaseUI/Database (4.5.1):
- Firebase/Database (~> 4.0)
- FirebaseUI/Facebook (4.5.1):
- FBSDKLoginKit (~> 4.0)
- FirebaseUI/Auth
- FirebaseUI/Firestore (4.5.1):
- Firebase/Firestore
- FirebaseUI/Google (4.5.1):
- FirebaseUI/Auth
- GoogleSignIn (~> 4.0)
- FirebaseUI/Phone (4.5.1):
- FirebaseUI/Auth
- FirebaseUI/Storage (4.5.1):
- Firebase/Storage (~> 4.0)
- SDWebImage (~> 4.0)
- FirebaseUI/Twitter (4.5.1):
- FirebaseUI/Auth
- TwitterKit (~> 3.0)
关于ios - Firebase 身份验证错误 : 'data parameter is nil' calling getIDTokenForcingRefresh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49771555/
我在stackoverflow上查过很多类似的问题,比如call.call 1 , call.call 2 ,但我是新人,无法发表任何评论。我希望我能找到关于 JavaScript 解释器如何执行这些
“strace 是一个系统调用跟踪器,即一个调试工具,它打印出另一个进程/程序进行的所有系统调用的跟踪。”如果系统调用递归工作或一个系统调用调用另一个系统调用怎么办。我怎样才能得到这些信息? 可能的解
我的问题很简单:我正在将一个函数传递给其他一些稍后调用的函数(示例回调函数),问题是何时、为何以及最佳做法是什么。 样本:我有 xxx() 函数,我必须传递它,如下面的 window.onload 事
我是 Java 新手,我正在尝试学习 ScheduledExecutorService 接口(interface)。我在网上看到了下面的代码。 我没有看到任何对 Callable.call() 方法的
这是我的调用过程: System.out.println
在 typescript 中,我有一个 DataAccess 类,以便所有 Ajax 调用都通过单个对象进行路由,以节省应用程序中许多地方的代码重复。 在使用这种方法时,我需要使用回调将响应返回到调用
如何使用模拟来计算通过 call 或 apply 进行的函数调用 // mylib.js module.exports = { requestInfo: function(model, id) {
每次我尝试roxygenize 一个包我都会得到这个错误: Error: is.call(call) is not TRUE traceback() 的结果: 11: stop(sprintf(nge
这里如果我有一个记录“调用我的函数”的函数 function myFunction() { console.log('called my function') } Function.prototy
在 Javascript 中,Function.call() 可以在给定 this 值和零个或多个参数的情况下调用 Function。 Function.call 本身就是一个函数。所以理论上,Fun
这个问题已经有答案了: "object is not a function" when saving function.call to a variable (3 个回答) a is a functi
在调用 UITableView 上的 reloadData 方法后,我曾多次遇到此问题,但我不明白为什么? 这是一个问题,因为如果更新 TableView 的数据,tableview将不必要地查询不存
我继承了大约 400 行写得非常奇怪的 Fortran 77 代码,我正在尝试逐步分析它以使其在我的脑海中清晰。 无论如何,我有一个类似 header 的文件(实际上是一个 .h,但其中的代码是 fo
这是我的代码 class AuthAction(callbackUri:String) extends ActionBuilder[UserRequest] with ActionRefiner[
我继承了大约 400 行写得非常奇怪的 Fortran 77 代码,我正在尝试逐步分析它以使其在我的脑海中清晰。 无论如何,我有一个类似 header 的文件(实际上是一个 .h,但其中的代码是 fo
我知道这个问题之前在这里被问过 iOS 6 shouldAutorotate: is NOT being called .但我的情况有点不同。 最初,在应用程序启动时,我加载了一个 viewContr
我是 headfirst 设计模式的读者,我注意到了这一点。 “好莱坞原则,别叫我们,我们叫你” 这意味着高级组件告诉低级组件“不要调用我们,我们调用你” High-Level Component 是
这个问题在这里已经有了答案: Why does passing variables to subprocess.Popen not work despite passing a list of ar
我刚找到一个覆盖 OnPaintBackground 的表单。奇怪的是它从来没有被调用过!就像,完全一样。为什么是这样?表单被刷新、移动、调整大小等等,所以它应该一些重新绘制,对吧? 最佳答案 是否设
调用函数的方式 考虑这个简单的函数: function my(p) { console.log(p) } 我可以这样调用它: my("Hello"); 也像这样: my.call(this, "Hel
我是一名优秀的程序员,十分优秀!