How can you setup an app that will ask for permission to access contacts before pulling up the Mail Composer? I know it is fairly recent that apps will do this.
質問する
1557 次
3 に答える
1
Apple はMFMailComposeViewController
組み込みのユーザーの連絡先へのアクセス権を提供しているため、アクセス権を付与する必要はありません。ユーザーの連絡先を別の場所で使用する場合は、Address Book Programming Guideを参照してください。
于 2012-06-22T20:26:58.273 に答える
0
あなたが何をしようとしているのかわからないので、ここに簡単な例を示します。「Access Contacts」という UIButton があります。ボタンをクリックすると、ボタンでメソッドが実行されます...これを generatePopover と呼びましょう。generatePopover は、連絡先へのアクセス許可を求めるステートメントを含む UIPopOverController を作成する必要があります。このビューには、承認と拒否の 2 つのボタンがあります。辞退は何もしませんが、承諾すると先に進み、メールコントローラーを引き上げることができます。
ポップオーバー コントローラー ページへのリンクは次のとおりです。
于 2012-06-22T20:37:43.153 に答える
0
次のようなことができます。
//Header (.h)
@interface yourClass : superClass <UIAlertViewDelegate>
@property (nonatomic) BOOL alertShown;
@property (nonatomic) BOOL permissionGranted;
//Implementation (.m)
@synthesize alertShown, permissionGranted;
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if(buttonIndex == 1){
self.permissionGranted = YES;
}
/*If you weren't sure what index the "Yes" button was at, you could do this instead:
if(buttonIndex == alertView.firstOtherButtonIndex){
self.permissionGranted = YES;
}
Or this:
if([buttonTitleAtIndex:buttonIndex isEqualToString:@"Yes"]){
self.permissionGranted = YES;
}*/
}
-(void)composeMail{
if(!self.alertShown){
UIAlertView *permissionsAlert = [[UIAlertView alloc] initWithTitle:@"Permission"
message:@"Permission to access contacts?"
delegate:self
cancelButtonTitle:@"No"
otherButtonTitles: @"Yes"];
[permissionsAlert show];
}
if(self.alertShown && self.permissionGranted){
//access mail/contacts
}
}
//viewDidLoad
self.alertShown = NO;
self.permissionGranted = NO;
調べたり調べたりせずに打ち込んだだけなので、どこか間違っているかもしれません。とにかく、これが役に立てば幸いです!
于 2012-06-23T00:21:57.053 に答える