Today Widget扩展的问题

时间:2014-09-21 02:27:33

标签: ios swift ios-app-extension

我的应用程序有一个Today Widget,但是我被告知有一个问题。

基本上,似乎正在发生的事情(我无法自己测试)是窗口小部件有时只会显示“无法加载”。而其他时候它只会显示高度为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'只要我的应用程序中的某些内容发生变化,就需要在窗口小部件中显示。

有谁知道这些问题的可能原因是什么?

3 个答案:

答案 0 :(得分:2)

如果您的分机经常崩溃,则会显示

“无法加载”消息。您可以尝试通过再次删除和添加扩展来重新启用它。

答案 1 :(得分:1)

您使用自己的视图控制器和xib而不是使用故事板吗?如果是,可能是您没有在视图控制器中设置preferredContentSize。

尝试将以下代码放在ur view controller的init函数中:

    self.preferredContentSize = CGSizeMake(320, 100);

我刚刚开始进行扩展编程,所以我不确定它对你是否真的有用。这是我自己的小部件中的结果:

enter image description here

答案 2 :(得分:0)

  1. 按今日附加信息中的修改按钮
  2. 删除您的扩展程序
  3. 再次添加您的扩展程序。