Meine iPhone-App verwendet die MFMailComposeViewController-Klasse, um eine In-App-E-Mail mit einem Anhang zu senden. Die App wird nur versuchen, den Mail-Composer-Dialog anzuzeigen, wenn die Methode "canSendMail" der Klasse MFMailComposeViewController true (YES) zurückgibt. Insbesondere dann, wenn die folgende Methode JA zurückgibt, zeigt es den Mail-Komponisten, sonst wird der Benutzer mit einer Fehler Warnmeldung präsentiert die besagt, dass es keine E-Mail-Konten auf dem Gerät eingerichtet:Wann wird [MFMailComposeViewController canSendMail] zurückgeben?
- (BOOL)canDeviceSendEmail
{
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
return mailClass != nil && [mailClass canSendMail];
}
Ein Team von Testern hat haben berichtet, dass sie diesen Fehlerwarnungsdialog erhalten, selbst wenn E-Mail-Konten auf dem Gerät eingerichtet sind. Der Tester verwendete ein iPhone 3G mit OS 3.1.3. Daher muss die Klasse MFMailComposeViewController vorhanden sein, und die Methode "canSendMail" muss NO zurückgegeben haben.
Meine Frage ist daher: Abgesehen von dem Fall, wenn auf dem Gerät keine E-Mail-Accounts eingerichtet sind, unter welchen Umständen kann die "canSendMail" -Methode NEIN zurückgeben?
~ Dank
Vielen Dank dafür. Die App wurde mit Basis-SDK 3.1.2 gebaut und das iPhone OS Deployment Target ist iPhone OS 3.0 – pythonquick
Aha. Diese Technik, das iPhone OS Deployment Target vom Base SDK zu trennen und zur Laufzeit auf Klassen zu prüfen, ist neu für mich. Ziemlich cool. – Tom