2014-10-24 2 views
2

Мы столкнулись с этим сценарием с помощью входа в Parse.com FaceBook. Вот шаги:Установка не существует после того, как пользователь зарегистрировался с помощью Facebook.

  1. Скачать и установить приложение из AppStore
  2. пользователь входит в систему, используя Facebook аккаунт

нормально, есть новая строка в коллекции _Installation, а также один в _User коллекция. Однако время от времени запись _Installation отсутствует, пока существует запись _User для пользователя.

Наше приложение требует логической связи между пользователем и его устройством, чтобы реализовать одно устройство для каждой политики пользователя.

Приложение прерывается, когда пользователь (представленный записью _User) не может ссылаться, потому что соответствующей записи _Installation нет. Мы наблюдали эту ошибку только на iOS 7.

Не могли бы вы проверить, действительно ли это ошибка в Parse SDK? Если да, когда будет доступно исправление?

ответ

0

Я не столкнулся с конкретной проблемой, которую вы описываете, но я столкнулся с несколькими подобными экземплярами, использующими Parse и Swift, где будет создан _User, и будет создан объект _Installation, но они не будут быть связанными. То, что я сделал, это добавить функцию в ViewDidLoad функции ViewController главной страницы моего приложения (первый экран после экрана входа в систему), чтобы убедиться, что оба установлены и связаны. Надеюсь, это поможет!

override func viewDidLoad() { 
    if ((PFUser.currentUser()) != nil) { 
      var current: PFInstallation = PFInstallation.currentInstallation() 
      current["userId"] = PFUser.currentUser() 
      current.saveEventually() 
    } 
} 

EDIT: В моем проекте я необходимо добавить, что код, указанный выше, потому что следующий не всегда сохраняя _User объект в _Installation объекта в моем AppDelegate файл в первый раз кто-то подписался на мое приложение

func application(application: UIApplication!, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData!) { 
    let currentInstallation:PFInstallation = PFInstallation.currentInstallation() 
    currentInstallation.setDeviceTokenFromData(deviceToken) 
    if ((PFUser.currentUser()) != nil) { 
     currentInstallation["userId"] = PFUser.currentUser() 
    } 
    currentInstallation.saveInBackgroundWithTarget(nil, selector: nil) 
} 
+0

Я предполагаю, что вы подразумеваете, что запись данных установки не может быть создана до тех пор, пока сегмент кода не завершится? У вас есть официальный отчет об ошибках в отношении такого поведения? Спасибо. BTW, связующая часть - это функция, характерная для нашего приложения. –

+0

Извините, для уточнения объекта '_Installation' создается в моем файле' AppDelegate', но указатель на объект '_User' не всегда сохраняется в моей функции' doneRegisterForRemoteNotificationsWithDeviceToken', поэтому мне нужно добавить функцию в 'viewDidLoad' сделать то же самое, чтобы убедиться, что они связаны. К сожалению, у меня нет официального отчета об ошибке – dstefanis

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