1

何らかの理由で、シミュレーターとデバイスで shouldPerformDefaultActionForPerson 関数が呼び出されません。誰かがこれを見て、私が欠けているものを教えてもらえますか? 私が見つけたすべての例から、何が間違っているのかわかりません。

これが私のヘッダーです:

#import <Foundation/Foundation.h>
#import <AddressBookUI/AddressBookUI.h>
#import <MessageUI/MessageUI.h>
#import "SWO.h"

@interface CustomABPersonViewController : ABPersonViewController
<MFMessageComposeViewControllerDelegate, ABPersonViewControllerDelegate>
{
    SWO *theSWO;
}

- (id)initWithSWO:(SWO *)aSWO;

@end

そして、ここに私の実装ファイルがあります:

#import "CustomABPersonViewController.h"
#import <MessageUI/MessageUI.h>
#import "SWO.h"

@implementation CustomABPersonViewController

- (id)initWithSWO:(SWO *)aSWO
{
    if (self = [super init])
    {
      //Various init code
    }
    return self;
}

- (BOOL)personViewController:(ABPersonViewController *)personView shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)IdentifierForValue
{
    NSLog(@"In here!");
    return YES;
}

@end

そして、これが私がビューで呼び出すときです:

CustomABPersonViewController *view = [[CustomABPersonViewController alloc] initWithSWO:aSWO];
    view.personViewDelegate = self; 
    view.displayedPerson = aRecord;

    [self.navigationController setToolbarHidden:NO animated:NO];
    [self.navigationController pushViewController:view animated:YES];
4

1 に答える 1

0

多くのデフォルト アクションは、シミュレータでは機能しません。実際のデバイスで試してみる必要があります。

于 2012-09-25T15:26:19.313 に答える