2014-09-21 4 views
3

오늘 앱용 투데이 위젯을 가지고 있는데 문제가 있다는 말을 들었습니다.투데이 위젯 확장 기능

기본적으로, 무슨 일이 (나 자신이를 테스트 할 수 없습니다) 발생 위젯이 때로는 표시 '없는로드'와 다른 시간이 그냥 0

의 높이로 표시하는 것입니다 것 같다

나는 이것이 왜 일어나고 있는지 정말로 알 수 없다. 필자는 내 장치와 시뮬레이터를 몇 주 동안 테스트 해 본 적이 없으며이 문제에 결코 빠지지 않았습니다. 그것은 아마도 아래 새로 고침 코드가 될 수 있다면

궁금 : 뭔가 위젯에 표시 할 필요가 내 응용 프로그램 내에서 변경 될 때마다

func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!) { 
    // Perform any setup necessary in order to update the view. 

    var defaults = NSUserDefaults(suiteName: "group.AffordIt") 
    var newCheck = defaults.boolForKey("new") 

    if newCheck == true { 
     completionHandler(NCUpdateResult.NewData) 
    } else { 
     completionHandler(NCUpdateResult.NoData) 
    } 
} 

'newCheck 것은'사실이다.

누구든지이 문제의 가능한 원인을 알고 있습니까?

답변

1

스토리 보드 대신 독자적인보기 컨트롤러와 xib를 사용하고 있습니까? 그렇다면 뷰 컨트롤러에서 preferredContentSize를 설정하지 않은 것일 수 있습니다.

통해 UR 뷰 컨트롤러의 init 함수에 다음 코드를 넣어보십시오

self.preferredContentSize = CGSizeMake(320, 100); 

나는 그냥 U 또는 정말 도움이 나는 확실하지 않다 그래서 오늘 확장 프로그램을 시작했다. 여기에 내 자신의 위젯의 결과입니다

enter image description here

2

메시지가있는 경우 확장 충돌이 자주 나타납니다 "로드 할 수 없습니다." 확장 프로그램을 제거한 다음 다시 추가하여 다시 사용하도록 설정할 수 있습니다. 오늘의 확장에

+0

다른 버그를 해결하기 위해 내 앱에 대한 업데이트를 발표했습니다. 나는 위젯 코드를 전혀 수정하지 않았다. 어쨌든 어쨌든 그것을 고쳐 놓은 것 같다. 어쩌면 iOS 8 버그 일 것이다. 사용자가 아직 앱을 열지 않은 채로 위젯을 사용하려고하면 '로드 할 수 없음'오류가 계속 표시됩니다. 이 메시지를 변경하는 방법이 있습니까? – user3746428

+0

@ user3746428 당신은 앱이 먼저 실행되었는지를 나타내는 간단한'BOOL' 인'NSUserDefaults' 키 (앱과 위젯 사이의 공유 기본값을 읽는 방법)를 만들 수 있습니다. 앱이 시작될 때 키를 확인하고 'false'인 경우 사용자에게 앱을 먼저 실행하라는 메시지를 표시합니다. – Maurizio

0
  1. 을 눌러 편집 버튼을
  2. 다시 확장을 추가 확장 제거합니다.