독일 아이스 하키 리그 DEL에 오늘 위젯을 만들었습니다.iOS 8 오늘 위젯이 잠시 후 작동을 멈 춥니 다
우리 서버에서 다음 게임을로드 중입니다. 테이블보기에 표시합니다. 로드 프로세스는 제안 된 메소드 "widgetPerformUpdateWithCompletionHandler"에서 시작됩니다. 처음에는 "viewWillAppear"에 캐시 된 데이터를로드하고 있습니다.
모든 것이 훌륭합니다!
그러나 위젯 작동이 중지 동안 (한 일) 후
. 알림 센터를 열면 위젯이 정상적으로 나타나지만 다시 업데이트되지 않습니다. 알림 센터에서 위젯을 제거하고 다시 추가해야합니다. 그 후 위젯은 하루 동안 작동 한 다음 다시 작동을 멈 춥니 다.위젯이 무엇을하는지 보려면 위젯이 아무 것도하지 않는지 확인하기 위해 "widgetPerformUpdateWithCompletionHandler"에 데이터를로드하는 동안 테이블보기 위에 상태 텍스트가있는 간단한 흰색보기를 추가했습니다. 위젯이 작동 중일 때 흰색보기가 나타납니다. 작동하지 않으면 상태보기가 나타나지 않습니다. 그래서 위젯이 잠시 동안 알림 센터에서 활성화 된 후에 메서드 "widgetPerformUpdateWithCompletionHandler"가 호출되지 않는다고 생각합니다.
위젯이 작동을 멈추게하는 원인이 무엇인지 전혀 알지 못합니다. 어떤 아이디어?
예, 동일하게 나타났습니다. 나는 몇 가지 시도를하고 네트워크 요청이 약간의 시간 (나쁜 네트워크 조건)이 걸릴 때 widgetPerformUpdateWithCompletionHandler가 다시 호출되지 않는다는 것을 알아 냈다. 완성 처리기가 어떻게 든 무효가된다고 생각합니다. 귀하의 솔루션은 효과가 있지만 의도 된 방식은 아닙니다. 나는 widgetPerformUpdateWithCompletionHandler를 전혀 사용하지 않음으로써 문제를 해결했다. 앞으로도 문제가 해결되기를 바랍니다. –
그래서 widgetPerformUpdateWithCompletionHandler를 사용하지 않는다면 다른 곳에서 네트워크 요청을 실행하고 있습니까? –
예 viewDidAppear에서 네트워크 reuqest를 호출합니다. 따라서 위젯은 백그라운드에서 새로 고침되지 않지만 사용자가 열 때마다 새로 고칩니다. –