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 回答