0

わかりました、私は完全に立ち往生しており、私が犯している明らかな間違いを誰かが指摘できるのではないかと思っていました.

プロジェクトで 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");

}

しかし、これは呼び出されていません。なぜなのかわかりませんか???

ここで何が欠けているのか誰にも分かりますか?

ありがとう

ガレス

4

2 に答える 2

1

他の誰かがこれに遭遇した場合、simperium.h でカスタム デリゲート メソッドを実装し、それを AppDelegate.ha デリゲートにしない限り、これを行う方法はありません。

simperium.h 内

- (void)didCancelAuth;

次に、simperium.m authenticationDidCancel メソッドに以下を追加します。

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

次に、appDelegate を simperium のデリゲートとして設定し、以下を追加します。

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

また、次のようにして appdelegate がデリゲートであることを確認する必要があります

self.simperium.delegate = self;

乾杯

ガレス

于 2013-08-05T15:31:03.577 に答える