2012-01-24 5 views
5

私のアプリケーションでMFMailcomposerViewControllerを使用しています。すべてがうまくいっていますが、私が必要としていることを除いて、いいえ。受信者のリストと、ユーザが送信している受信者のリスト。 この問題に関する助けや解決策はありますか?MFMailComposeViewControllerで受信者リストを取得する

+0

あなたは受信者の数を取得できますが、IDはありません。 – hemant

+0

@hemant受信者のうち、私はまたそれを必要とするだけです。 ありがとうございました! –

答えて

0

を参照してください:あなたは、受信者数

が回避策は、受信者を保持してテキストを取得するために使用されたテキストフィールドを見つけ、ビューコントローラのサブビューを検討することです取得するために使用することができMFMailComposeViewController私は答えを得て、それを分かち合いたいと思っていました。私は[ブログ]から大きな助けを借りました:http://jomnius.blogspot.com/2011/02/how-to-find-mfmailcomposeviewcontroller.html

for (int x=0; x<[emailArray count]-1; x++) { 
NSLog(@"%d). %@",x+1,[emailArray objectAtIndex:x]); 
NSString *element = [emailArray objectAtIndex:x]; 
NSArray *arr = [element componentsSeparatedByString:@" & "]; 
if ([arr count]==1) { 
    ++emailCount; 
} 
else{ 
    int more = [[[arr objectAtIndex:1] substringToIndex:1] intValue]; 
    emailCount+=(more+1); 
} 
} 
- (NSString *)findEmailAddresses:(UIView *)view depth:(NSInteger)count 
{ 
NSString *eAddress = nil; 
if (!view) 
    return eAddress; 
NSMutableString *tabString = [NSMutableString stringWithCapacity:count]; 
for (int i = 0; i < count; i++) 
    [tabString appendString:@"-- "]; 
NSLog(@"%@%@", tabString, view); 
if ([view isKindOfClass:[UITextField class]]) 
{ 
    // MAGIC: debugger shows email address(es) in first textField 
    // but only if it's about max 35 characters 
    if (((UITextField *)view).text) 
    { 
     eAddress = [NSString stringWithString:((UITextField *)view).text]; 
     NSLog(@"FOUND UITextField: %@", eAddress ? eAddress : @""); 
     [emailArray addObject:eAddress]; 
    } 
} 
NSArray *subviews = [view subviews]; 
if (subviews) { 
    for (UIView *view in subviews) 
    { 
     NSString *s = [self findEmailAddresses:view depth:count+1]; 
     if (s) eAddress = s; 
    } 
} 
return eAddress; 
} 
2

デリゲートメソッドmailComposeController:didFinishWithResult:error:は、デリートされた後にコンポーザビューコントローラへの参照を提供しますが、アクセサーはありません最後にhere

+0

しかし、私は 'aaa.aa @ aa.comと3つ以上の文字列のようになっています。この場合、私はIDが正しいかどうかを調べることができません。私は同じように必要です...。 –

+0

そのブログでは、私はあなたが25文字の制限を超えている場合は、受信者の数を取得するためにのみこれを使用することができると思います。 – wattson12

0

メール組成物はこれで、リモートプロセス(MailCompositionService)にXPCサービスコールを介して行われますようiOSの6のようにこれを行う方法はありません。ここに大きな説明があります:http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/。ビュー階層の最下位レベルは、リモート・プロセスとインターフェースする_UIRemoteViewになりました。 http://jomnius.blogspot.com/2011/02/how-to-find-mfmailcomposeviewcontroller.htmlにあるブログ投稿のコードは、常にnilを返します。

関連する問題