gpt4 book ai didi

objective-c - Simperium,获取 AuthManager 的委托(delegate)通知

转载 作者:行者123 更新时间:2023-12-03 17:53:29 26 4
gpt4 key购买 nike

好吧,我完全陷入困境,想知道是否有人可以指出我犯的明显错误是什么。

我在项目中使用 Simperium(开发分支),并且希望在用户关闭身份验证窗口时在我的主 AppDelegate 中收到通知。

现在 SPAutheticationManager.m 文件中有以下代码:

- (void)cancel {
DDLogVerbose(@"Simperium authentication cancelled");

if ([delegate respondsToSelector:@selector(authenticationDidCancel)])
[delegate authenticationDidCancel];
}

我设置了一个断点,当窗口关闭时肯定会调用这个断点。

现在,我已将 SPAuthenticationDelegate 添加到 AppDelegate 的实现中,然后将以下代码添加到 AppDelegate.m

-(void)authenticationDidCancel {
NSLog(@"Authetication Cancelled");

}

但是,这没有被调用,我不知道为什么???

有人知道我在这里缺少什么吗?

谢谢

加雷斯

最佳答案

如果其他人遇到这个问题,如果不在 simperium.h 中实现自定义委托(delegate)方法并使您的 AppDelegate.h 成为它的委托(delegate),就无法做到这一点。

在 simperium.h 中

- (void)didCancelAuth;

然后在simperium.mauthenticationDidCancel方法中添加:

if ([delegate respondsToSelector:@selector(didCancelAuth)]) {
[delegate didCancelAuth];
}

然后将您的 appDelegate 设置为 simperium 的委托(delegate)并添加:

- (void)didCancelAuth
{
//auth has been cancelled
}

您还需要通过执行类似的操作来确保您的 appdelegate 是委托(delegate)

self.simperium.delegate = self;

干杯

加雷斯

关于objective-c - Simperium,获取 AuthManager 的委托(delegate)通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18045429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com