Hello again,

when your session expires, it is enough to call a closeConnection and then open the new connection appropriately. There's no need to unsubscribe all tables first, they will be cleared together with the connection. Recall that such calls should not be done on the thread of an LSConnectionDelegate event, but rather on on a separate background thread.

We still recommend to rely on the OS X client automatic resubscription for situations where the connection drops for external reasons. If you can't distinguish the two situations (session expiration vs. connection drop) then forcibly close the connection in both cases, by spawing a closeConnection call during the appropriate LSConnectionDelegate event, as explained on the home page of the OS X documentation.

Anyway, we are available for a phone or Skype call to discuss the issue further. Please contact support so it can be scheduled with the people involved.
Best regards,

Gianluca