私はこの問題を検索しましたが、答えが見つからなかったため、最初の質問をここに書きました。
問題は、以下のメソッドを呼び出すボタンを押すと、この行で例外が発生する[self presentModalViewController:mailViewController animated:YES];
ことです。例外は次のとおりです。
*キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '-[NSCFString カウント]: 認識されないセレクターがインスタンス 0x20f6c に送信されました'
さらに、それが役立つ場合は、シミュレーターでアプリを実行しています。
コードの大部分はhereから取得しました。
これが私のコードです(メールアドレスは空白になっています):
// set up the email address array
NSArray *email = [[NSArray alloc] initWithObjects:@"foo", nil];
// Set up the view controller
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
// Set up the email to send to
[mailViewController setSubject:@"foo"];
[mailViewController setToRecipients:[email objectAtIndex:0]];
// Get the path to the plist
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *path = [documentsPath stringByAppendingPathComponent:@"foo.plist"];
// Get the plist from the path
NSData *myData = [NSData dataWithContentsOfFile:path];
[mailViewController addAttachmentData:myData mimeType:@"plist" fileName:@"foo"];
// Fill out the email body text
NSString *emailBody = @"Attached PLIST file";
[mailViewController setMessageBody:emailBody isHTML:NO];
// Release the array
[email release];
if (mailViewController != nil) {
[self presentModalViewController:mailViewController animated:YES];
[mailViewController release];
}
例外の原因は何ですか?