Ответ 1
Эта проблема исправлена с помощью iOS7.0.3
У меня есть приложение для отправки сообщений электронной почты и текстовых сообщений.
Проблема, с которой я сталкиваюсь, заключается в том, что загрузка MFMessageComposeViewController намного медленнее на iOS 7, чем на предыдущем iOS, и это становится худшим по мере увеличения количества контактов.
Экран становится черным в течение нескольких секунд до того, как откроется приложение "Сообщения" с загруженным содержимым.
Любые мысли?
С таким же большим количеством писем MFMailComposeViewController работает быстрее, чем раньше.
Помощь!! Спасибо.
Эта проблема исправлена с помощью iOS7.0.3
У меня та же проблема. Я сделал композитор сильной ссылкой с
@property (nonatomic, strong, retain) MFMessageComposeViewController *messageComposer;
Затем класс владельца вызывает этот метод:
-(void)sendSMSFromController:(UIViewController*)controller
{
self.messageComposer = [MFMessageComposeViewController new];
if([MFMessageComposeViewController canSendText]) {
[_messageComposer setBody:_body];
[_messageComposer setRecipients:[NSArray arrayWithObjects:_recipient, nil]];
[_messageComposer setMessageComposeDelegate:self];
[controller presentViewController:_messageComposer animated:NO completion:NULL];
}
}
Композитор появляется быстро, но медленно исчезает. Заканчивается:
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
switch (result) {
case MessageComposeResultCancelled:
NSLog(@"Message sending cancelled.");
break;
case MessageComposeResultFailed:
NSLog(@"Message sending failed.");
break;
case MessageComposeResultSent:
NSLog(@"Message sent.");
default:
break;
}
[controller dismissViewControllerAnimated:YES completion:^(){
self.messageComposer = nil;
}];
}
После перезагрузки моего устройства он явно работает. Перед перезагрузкой (после беспорядка с MessageService путем отправки недопустимых получателей) это не удалось.
Я также сталкиваюсь с этой проблемой для получателей iMessage.
Кажется, он привязан к iMessage, синхронизирующему историю с iCloud. У меня было 4 получателя, и для первого диалогового окна Apple iMessage потребовалось около 30 секунд.
После того, как вы один раз подождали, я отменил отправку, повторная попытка повторила быстро - этот результат плюс тот факт, что iOS7 отображает историю сообщений в представлении композитора (pre iOS7 не делает), привел меня к что Apple ждет какой-то синхронизации iCloud, прежде чем появиться в представлении.
Это воспроизведено как на iPhone 4, так и на новом iPhone 5 с разными учетными записями iCloud, поэтому он не кажется ограниченным или уникальным для моего аккаунта iCloud или получателей.
У меня нет подтвержденного решения для этой проблемы, но у меня есть некоторые обходные пути, которые можно предложить для дальнейшего изучения: