1

CLLocationManager'sロゴを使用してデリゲート プロパティの設定をフックしようとしています。私の現在のコードは次のようになります。

%hook CLLocationManager
-(void)startUpdatingLocation
{
    %orig;

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"test"
        message:@"hello!"
        delegate:nil
        cancelButtonTitle:@"Bye"
        otherButtonTitles:nil];
    [alert show];
    [alert release];
}
%end

アプリに送信される場所をフィルター処理できるプロキシ クラスを作成できるように、デリゲート プロパティの設定をオーバーライドしたいと考えています。ロゴを使用してそれを行う気の利いた方法はありますか?

ありがとう!

4

1 に答える 1

4

うん。プロパティセッターは単なる通常の方法であるため、これを行うことができます:

%hook CLLocationManager
- (void) setDelegate:(id<CLLocationManagerDelegate>)delegate {
    // set up your proxy / whatever you're looking to do

    %orig;
}
%end
于 2012-05-22T04:15:13.317 に答える