6

Tôi đang ở giữa với sự phát triển tiện ích của tôi. Như chúng ta đã đặt ứng dụng của chúng tôi với tích hợp widget. Nhưng bây giờ một ngày, tôi đang phải đối mặt với vấn đề với widget ngày nay trong iOS. Tôi đã viết một mã cho hai trường hợp. Lần đầu tiên khi phụ tùng được tải lần đầu tiên khi khởi chạy ứng dụng, nó gọi dịch vụ web và tìm nạp dữ liệu qua internet và sau đó chúng tôi lưu trữ chúng vào mặc định của người dùng để sử dụng sau này.Thông báo "Không thể tải" trong Widget Hôm nay

Bây giờ, khi người dùng kéo xuống trình đơn thông báo, chúng tôi hiển thị nội dung đã lưu trước tiên cho người dùng và sau đó chúng tôi tìm nạp từ dịch vụ web và lưu trữ theo mặc định của người dùng và sau đó tải lại bảng.

Đối với hoạt động trên, tôi đang đối mặt với vấn đề kích thước nội dung cho bảng, sự cố nhấp nháy và thông báo "không thể tải" trong một số trường hợp.

Bây giờ hãy xem mã bên dưới, tôi đang thực hiện cuộc gọi web ở phương thức bên dưới và sau phản hồi của dịch vụ web, tôi chỉ xử lý trình xử lý hoàn tất.

- (void)widgetPerformUpdateWithCompletionHandler:(void (^)(NCUpdateResult))completionHandler { 
    // Perform any setup necessary in order to update the view. 
    // If an error is encountered, use NCUpdateResultFailed 
    // If there's no update required, use NCUpdateResultNoData 
    // If there's an update, use NCUpdateResultNewData 
    [self getBookedAppointmentsNew:completionHandler]; 
} 

Vì vậy, hãy chia sẻ kinh nghiệm và ý tưởng của bạn với tôi.

+0

Chỉ cần rõ ràng, bạn đang gọi dịch vụ web của mình và bạn không gọi trình xử lý hoàn thành cho đến khi cuộc gọi đó kết thúc? –

+0

Vâng, tôi cũng làm như vậy .. Tôi gọi dịch vụ web và khi hoàn thành dịch vụ, tôi hoàn thành nó bằng trình xử lý hoàn tất. –

+0

Thực ra, tôi cần thực hiện cuộc gọi dịch vụ web mỗi lần để tìm nạp các sự kiện mới nhất của mình cho khách hàng nhưng cho đến khi tôi tìm nạp chúng, tôi đang cố gắng hiển thị dữ liệu được tìm nạp trước đó cho khách hàng. Vì vậy, không có cơ hội của màn hình nhấp nháy. Tôi muốn làm mới chế độ xem với nội dung mới mà không có bất kỳ tác dụng phụ nào. –

Trả lời

2

Cuối cùng tôi đã có cách để giải quyết vấn đề. Vui lòng xem mã bên dưới. phương pháp

Trong viewDidLoad(), tôi vừa thiết lập kích thước nội dung ưa thích của quan điểm với chiều cao cơ bản mà tôi cần lúc khởi động để hiển thị xem phía dưới của tôi và sau đó tôi đã thực hiện một cuộc gọi dịch vụ web để lấy dữ liệu. Sau khi tìm nạp dữ liệu, tôi lại đặt kích thước nội dung ưa thích của chế độ xem TodayWidget.

-(void)viewDidLoad 
    { 
     [super viewDidLoad]; 
     self.bottomView.frame = CGRectMake(self.bottomView.frame.origin.x, 0.0, self.bottomView.frame.size.width, self.bottomView.frame.size.height); 
     self.preferredContentSize = CGSizeMake(self.view.frame.size.width, self.bottomView.frame.size.height); 
     [self getBookedAppointmentsNew]; 
    } 

-(void)getBookedAppointmentsNew 
    { 
     //-- After web-service response (positive/negative), I have set again the preferred content size. 
     self.bottomView.frame = CGRectMake(self.bottomView.frame.origin.x, self.scrollView.frame.size.height, self.bottomView.frame.size.width, self.bottomView.frame.size.height); 
     self.preferredContentSize = CGSizeMake(self.view.frame.size.width, (self.bottomView.frame.origin.y + self.bottomView.frame.size.height)); 
    } 

Tôi đã làm theo các bước ở trên để giải quyết các vấn đề liên quan đến "Không thể tải" & "màn hình nhấp nháy" với mở rộng Today.

+0

Cách tiếp cận tuyệt vời, mục tiêu cho tôi là "self.view.frame.size.width" –

4

Nói chung, tôi thấy thông báo "Không thể tải" bất cứ khi nào có sự cố trong tiện ích. Các widget cố gắng tải chính nó và nếu nó liên tục bị treo sau đó nó sẽ chỉ hiển thị thông báo "Không thể tải". Gỡ lỗi tiện ích của bạn và đảm bảo không có gì khiến thiết bị gặp sự cố

+3

Tôi đã khắc phục sự cố của mình trong tiện ích nhưng nó vẫn hiển thị "không thể tải". Hóa ra iOS thậm chí không cố gắng tải tiện ích nếu nó bị hỏng đủ thời gian. Tôi phải khởi động lại điện thoại và sau đó nó được nạp. Cảm ơn vì tiền hỗ trợ! – user3099609

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