首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Simperium,获取AuthManager的委托通知

Simperium,获取AuthManager的委托通知
EN

Stack Overflow用户
提问于 2013-08-04 17:10:51
回答 2查看 72关注 0票数 0

好吧,我完全被困住了,想知道有没有人能指出我犯了什么明显的错误。

我在项目中使用Simperium (dev分支),如果用户拒绝身份验证窗口,我希望在主AppDelegate中得到通知。

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

代码语言:javascript
复制
- (void)cancel {
    DDLogVerbose(@"Simperium authentication cancelled");

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

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

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

代码语言:javascript
复制
-(void)authenticationDidCancel {
    NSLog(@"Authetication Cancelled");

}

但是,这不是在打电话,我也想不出为什么?

有人知道我在这里错过了什么吗?

谢谢

加雷斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-05 15:31:03

如果其他人碰到这种情况,如果不在simperium.h中实现自定义委托方法并使AppDelegate.h成为它的委托,就无法做到这一点。

近况

代码语言:javascript
复制
- (void)didCancelAuth;

然后在simperium.m authenticationDidCancel方法中添加:

代码语言:javascript
复制
if ([delegate respondsToSelector:@selector(didCancelAuth)]) {
    [delegate didCancelAuth];
}

然后将appDelegate设置为simperium的委托并添加:

代码语言:javascript
复制
- (void)didCancelAuth
{
    //auth has been cancelled
}

您还需要执行以下操作,以确保应用程序委托是委托

代码语言:javascript
复制
self.simperium.delegate = self;

干杯

加雷斯

票数 1
EN

Stack Overflow用户

发布于 2014-01-09 16:35:50

只是想让您知道,我们刚刚添加了一个全新的‘登录取消’委托方法(提交此处:开发分支中的https://github.com/Simperium/simperium-ios/commit/5cae8a157786a48ffe1cc649f898341eb9cf51bf )。

感谢您帮助我们改进Simperium!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18045429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档