Подтвердить что ты не робот

Как отправить электронное письмо через симулятор iOS?

Я хочу знать, можно ли отправлять электронную почту через симулятор iPhone. Я видел учебник для отправки электронной почты через iphone, как показано ниже:

http://www.edumobile.org/iphone/iphone-programming-tutorials/compose-mail-application-in-iphone/

Теперь, чтобы проверить, нужно ли иметь реальное устройство? Как я могу отправить электронную почту? через симулятор iPhone?

4b9b3361

Ответ 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 на симуляторе для составления и отправки сообщений, но я не верю, что есть способ отправить сообщение. Однако, если пользователь нажимает кнопку "Отправить" в представлении о композиции, ваш код не играет никакой роли при отправке сообщения. Таким образом, симулятор делает достаточно, чтобы вы могли разрабатывать и тестировать ваше приложение.

Что касается того, нужно ли иметь реальное устройство, я бы сказал, что в какой-то момент вам нужно протестировать на одном или нескольких устройствах независимо от того, что. Симулятор - отличный инструмент, но после определенного момента он не заменит ваше приложение на реальную вещь.