2016-07-19 3 views
0

У меня есть эта часть кода, которая показывает окно с интервалом времени в секундах, которое должно быть отформатировано в минутах или часах. Он отлично работает, когда я строю и тестирую локально, но версия в Mac App Store показывает только время в секундах. Есть ли подсказка, почему это?NSDateComponentsFormatter output differer между строками

// Seconds between UI update 
var updateInterval = 300.0 { 
     didSet { 
      log("Update interval changed to \(updateInterval)") 
      NSUserDefaults.standardUserDefaults().setDouble(updateInterval, forKey: settingsKey) 
      startTimer() 
     } 
    } 

@IBAction func showAbout(sender: NSMenuItem) { 
     let formatter = NSDateComponentsFormatter() 
     formatter.unitsStyle = .Full 
     formatter.allowedUnits = [.Minute, .Hour] 
     //formatter.calendar = nil // Disable localization 

     // Use the configured formatter to generate the string. 
     let updateIntervalTimeString = formatter.stringFromTimeInterval(updateInterval) 

     let alert = NSAlert() 
     alert.addButtonWithTitle(NSLocalizedString("OK", comment: "Ok button on about screen")) 

     alert.messageText = NSLocalizedString("ABOUT", comment: "About screen") 

     let infoString = 
      NSLocalizedString("ABOUT_INFO_1", comment: "App name") + "\n\n" + 
      NSLocalizedString("ABOUT_INFO_2", comment: "Update interval info") + 
       "\(updateIntervalTimeString!)" + "\n\n" + 
      NSLocalizedString("ABOUT_INFO_3", comment: "Copyright notice") 
     alert.informativeText = infoString 


     alert.alertStyle = NSAlertStyle.InformationalAlertStyle 

     alert.runModal() 
    } 
+0

Как заполняется 'updateInterval'? – Droppy

+0

updateInterval является двойным, добавлена ​​декларация – ihatetoregister

ответ

0

Я просто заметил, что поведение отличается, если я запустить приложение из App Store, Spotlight или Launchpad. Поэтому я удалил все двоичные файлы и снова загрузил приложение из магазина, и теперь время отображается правильно.

Смежные вопросы