title: Best way to sync data between IOS devices
body: <p>I am developing an app where i need to sync data between several devices with the main datastore being a central server.
  So one instance of app on a device will get new data, send it to server, i then need to send this data to the other devices.</p>
  
  <p>Issue i have is, how best or what is the standard way to trigger the data download? </p>
  
  <p>1) Have each device poll the server every x time to make sure its data is up to date?</p>
  
  <p>2) Have a separate thread constantly waiting for new data and when the server receives new data it pushes it out to the devices?</p>
  
  <p>3) When the server receives new data it sends out push notifications which when the devices receives this, it causes the app to sync with the new data?</p>
  
  <p>4) Something i ain't thought about</p>
  
  <p>I know all three will potentially 'work' but i wondered if there is a standard architecture / method to doing what i want to achieve.</p>
  
  <p>::Edit::
  The data needs to be fairly 'instant' if i poll it then i'll have to poll it every 30 seconds max to achieve the sync rate i ideally want.</p>
  
  <p>I can send the data to my server no problem at all, i can even download the data once i have the trigger to, its just the mechanism that triggers the download I'm unsure off. </p>
  
  <p>I imagine that new data will be sent to the sever properly on an hourly basis.</p>
  
  <p>Thanks</p>