Как отправить электронное письмо через симулятор iOS?
Я хочу знать, можно ли отправлять электронную почту через симулятор iPhone. Я видел
учебник для отправки электронной почты через iphone, как показано ниже:
http://www.edumobile.org/iphone/iphone-programming-tutorials/compose-mail-application-in-iphone/
Теперь, чтобы проверить, нужно ли иметь реальное устройство? Как я могу отправить электронную почту?
через симулятор iPhone?
Ответы
Ответ 1
Вы должны полагаться на iOS, что MFMailComposeResult
, который возвращается в mailComposeController:didFinishWithResult:error:
, является правильным. Симулятор подделывает этот результат; никакая фактическая почта не отправляется, хотя она говорит MFMailComposeResultSent
.
В упомянутом руководстве упоминается промахивание важного момента. Прежде всего, прежде чем использовать MFMailComposeViewController
, нужно проверить [MFMailComposeViewController canSendMail]
. Это вернет NO
, если пользователь не настроил почту на своем устройстве. Если вы должны поддерживать версию iOS до версии 3.0, правильный способ - проверить, существует ли класс MFMailComposeViewController
:
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil)
{
if ([mailClass canSendMail])
{
[self displayComposerSheet];
}
else
{
[self launchMailAppOnDevice];
}
}
else
{
[self launchMailAppOnDevice];
}
Проблема CanSendMail может быть протестирована только на реальном устройстве. Это приведет к сбою, если вы не проверите canSendMail, и у пользователя нет настроенной учетной записи электронной почты.
Ответ 2
Да, это необходимо, если вы действительно хотите отправить электронное письмо.
В большинстве случаев вам не нужно беспокоиться о том, что почта будет отправлена приложением Apple, поэтому вам нужно будет только проверить, отвечает ли ваше приложение, и запускает почтовый композитор. Единственное, что я могу считать проблематичным, - это убедиться, что вложения и изображения отправлены должным образом. В этом случае вы можете отправить бету кому-то с iphone и попросить его проверить его для вас.
важно
наличие устройства критично развивается, ваш симулятор не ведет себя точно так же, как устройство. он является просителем, и по моему опыту у меня всегда были проблемы с устройством, которое не было с симулятором.
Ответ 3
В соответствии с обсуждением на форуме Apple, чтобы проверить функциональность, в которой нам действительно нужно устройство, симулятор не поддерживает эту функциональность.
Часть из обсуждения:
sptrakesh Чикаго Re: IOS SIMULATOR
MAIL APP 26 марта 2012 г. 7:09 (в ответ на davemac75)
Почтовое приложение недоступно на симуляторе. Тебе понадобится для проверки вашего приложения на устройстве для проверки этой части.
Ответ 4
Вы можете использовать структуру MessageUI на симуляторе для составления и отправки сообщений, но я не верю, что есть способ отправить сообщение. Однако, если пользователь нажимает кнопку "Отправить" в представлении о композиции, ваш код не играет никакой роли при отправке сообщения. Таким образом, симулятор делает достаточно, чтобы вы могли разрабатывать и тестировать ваше приложение.
Что касается того, нужно ли иметь реальное устройство, я бы сказал, что в какой-то момент вам нужно протестировать на одном или нескольких устройствах независимо от того, что. Симулятор - отличный инструмент, но после определенного момента он не заменит ваше приложение на реальную вещь.