Я не буду говорить о допуске / отклонении магазина приложений, но ваш код должен аварийно завершить работу на iPhone OS 2.x - вы вызываете
BOOL canSendmail = [MFMailComposeViewController canSendMail];
, не проверяя, возможен ли этот вызов (класс MFMailComposeViewController недоступен в2.x система).Также ручная проверка версии ОС не является хорошей практикой.Вместо этого вы должны сначала проверить, присутствует ли MFMailComposeViewController
в текущей среде выполнения:
if ( !NSClassFromString(@"MFMailComposeViewController") ){
// Put code that handles OS 2.x version
return;
}
if (![MFMailComposeViewController canSendMail]){
// Put code that handles the case when mail account is not set up
return;
}
//Finally, create and send your log
...
PS Не забывайте, что вы должны установить тип связи для каркаса MessageUI как «слабый» в целевых настройках - ваше приложение аварийно завершитсястарые системы при запуске, если вы используете тип связи, будет «обязательным» (значение по умолчанию).