2013-09-26 43 views
10

Tôi là một ứng dụng để gửi email và tin nhắn văn bản.MFMessageComposeViewController chậm hơn nhiều trên iOS 7

Sự cố mà tôi đang gặp phải là việc tải MFMessageComposeViewController chậm hơn nhiều so với iOS 7 so với iOS trước và nó trở nên tồi tệ nhất khi số lượng liên hệ tăng lên.

Màn hình chuyển sang màu đen trong vài giây trước khi ứng dụng Tin nhắn mở ra với nội dung được tải.

Mọi suy nghĩ?

Với cùng số lượng email lớn, MFMailComposeViewController nhanh hơn như trước.

Trợ giúp !! Cảm ơn.

+0

Bạn đã sao chép vấn đề trong một dự án trống mới chưa? – Wain

+0

No. Tôi đang sử dụng một bản sao của dự án trực tiếp. –

+0

Tôi có nghĩa là bạn chắc chắn điều này không phải là do một cái gì đó trong dự án của bạn. Bạn có đang sử dụng bất kỳ phông chữ tùy chỉnh nào trong thanh điều hướng không? Chứng minh vấn đề trong một dự án đơn giản. Đưa ra một lỗi với Apple nếu nó vẫn xảy ra trong dự án đơn giản. – Wain

Trả lời

1

Vấn đề này đã được cố định với iOS7.0.3

+6

Trong iOS 7.1 một lần nữa vấn đề này .. –

1

Tôi cũng gặp sự cố này đối với người nhận iMessage.

Dường như bị ràng buộc với lịch sử đồng bộ hóa iMessage từ iCloud. Tôi đã có 4 người nhận và mất khoảng 30 giây để hộp thoại Apple iMessage đầu tiên bật lên.

Sau khi chờ đợi điều này một lần, tôi đã hủy đăng ký, lần thử tiếp theo được giải quyết nhanh chóng - kết quả này, cộng với thực tế là iOS7 hiển thị lịch sử tin nhắn trong chế độ xem của nhà soạn nhạc (trước iOS7 không), đã dẫn tôi để kết luận rằng Apple đang chờ một số loại đồng bộ iCloud trước khi bật chế độ xem.

Điều này được sao chép trên cả iPhone 4 và iPhone 5s mới với các tài khoản iCloud khác nhau, vì vậy nó dường như không bị giới hạn phần cứng hoặc duy nhất đối với tài khoản iCloud hoặc người nhận của tôi.


Tôi không có giải pháp xác nhận cho vấn đề này, nhưng tôi có một số cách giải quyết để đề nghị để điều tra thêm:

  • Một số người dùng của chúng tôi đã thông báo rằng khởi động lại thiết bị giải quyết vấn đề này.
  • Đây có thể là "phí 1 lần" cho mỗi người nhận iMessage duy nhất sau khi nâng cấp lên iOS7.
+1

Tôi cũng gặp vấn đề tương tự với iMessage. Tuy nhiên tôi có một vấn đề hoàn toàn khác nhau là đôi khi tin nhắn thậm chí sẽ không gửi tất cả. Vấn đề được giải quyết sau khi khởi động lại thiết bị mặc dù. Tôi đã được bộ não của tôi wracking về vấn đề này, và có vẻ như liên tục. – Calvin

+0

Chính xác ở đây và từ thử nghiệm của tôi, nó dường như được gắn với người nhận có lịch sử trên thiết bị, tức là bạn đã nhắn tin trước đó. Nếu bạn chọn người nhận mà bạn không có một chuỗi iMessage/SMS hiện có, bộ điều khiển sẽ đáp ứng ngay lập tức sau khi được trình bày và tin nhắn được gửi thành công sau khi nhấn gửi. Như đã đề cập ở trên, việc khởi động lại thiết bị (trong trường hợp của tôi là iPhone 5) giải quyết được vấn đề (tạm thời). – user1002428

4

Tôi có cùng một vấn đề. Tôi đã làm nhà soạn nhạc tài liệu tham khảo chặt chẽ với

@property (nonatomic, strong, retain) MFMessageComposeViewController *messageComposer; 

Sau đó, chủ sở hữu lớp gọi phương pháp này:

-(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]; 
    } 
} 

Composer xuất hiện một cách nhanh chóng nhưng sẽ biến mất dần. Hoàn thiện với:

- (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; 
    }]; 
} 

Sau khi khởi động lại thiết bị, nó hoạt động rõ ràng. Trước khi khởi động lại (sau khi gây rối với MessageService bằng cách gửi người nhận không hợp lệ) nó không thành công.

+0

Cảm ơn, mà làm việc cho tôi ... tôi vẫn còn tìm thấy rất lạ tôi đã phải khởi động lại iphone của tôi ... – meronix

+0

Có vẻ như MessageService chứa một số singleton, mà không phải là một thread-safe initialisation. – igraczech

Các vấn đề liên quan