2014-10-17 2 views
1

Я пытаюсь загрузить несколько строк из parse.com внутри виджета Центра уведомлений.
Поэтому сначала нужно подписать пользователя для разбора. Сначала я загружаю учетные данные, которые сохраняются из самого приложения в NSUserDefaults (я знаю об аспекте безопасности.). Этот шаг работает отлично, но когда я выполняю следующий код, виджет говорит, что загрузка данных невозможна.Использование данных Parse.com в виджетах Notification Center iOS 8

func signUserIn(username: String, password: String) { 
    PFUser.logInWithUsernameInBackground(username, password:password) { 
     (user: PFUser!, error: NSError!) -> Void in 
     if (user != nil) { 
      SMKeychainService.saveToken(password) 
      var defaults = NSUserDefaults(suiteName: "group.xxx.xxx") 
      defaults.setObject(username, forKey: "UsernameKey") 
      defaults.synchronize() 
      self.delegate?.signedIn!(true) 
     } else { 
      self.delegate?.signedIn!(false) 
     } 
    } 
} 

Кто-нибудь из вас попытался загрузить данные из parse.com внутри виджета и как вы это сделали. Я даже не могу загрузить данные, потому что, как я уже упоминал, виджет падает при знаке пользователя.
У самого приложения нет проблем с входом в систему для анализа и загрузки данных.

Я решил проблему
я не реализованный Parse.setApplicationId("xxx", clientKey: "xxx"), теперь я реализовал его в viewDidLoad и код работает!

+0

Какое сообщение об ошибке? Где именно он падает при прохождении кода? – Mundi

+0

«NSUserDefaults» работают, 'SMKeychainService' основан на' NSuserDefaults' тоже. Я также попробовал вызов метода, и делегат вернул обратно без кода Parse, поэтому это может быть только метод 'PFUser.logInWithUsernameInBackground:'. – smudis

ответ

0

Установка

 Parse.setApplicationId(appID, clientKey: clientKey) 

в AppDelegate не работает для расширения. Используйте этот код в viewDidLoad расширения, и он отлично работает.

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

  • Нет связанных вопросов^_^