Mam taki dziwny problem. Programuję w iOS jakiś czas i czasami iOS zachowuje się conajmniej dziwnie. Mam taką sytuację:
używam biblioteki socketIO, która wymaga jeszce SocketRocket, a chodzi o podłączenie się do serwera notyfikacyjnego. Samo połączenie się z serwerem wygląda w skrócie tak:
NSURL *url = [NSURL URLWithString:s];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:15.0];
i wszystko śmiga, ale gdy zabiję aplikację np z poziomu XCode (bo w symulatorze iPhone pracuję) i ponownie uruchomie, to połączenie nie jest nawiązywane. Długo dochodziłem, zgadywałem, debugowałem, aż w końcu wpadłem na pomysł wyczyszczenia danych urządzenia (emulaotra) - [IOS Simulator / Reset data and contents...] i znowu połączenie zaczęło działać. Skoro tak jest, pomyślałem, że moze cos biblioteki zapisują w cache lub gdzieś (ciekawe swoją drogą, co, po co i kto na to pozwolił). Wyczyściłem cache, nic nie pomogło, wyczyściłem Model.sqlite i poszło, niestety straciłem swoje dane. Zainstalowałem aplikację żeby przejrzeć zawartość tej bazy i nic poza moimi danymi jakimś METADATA nie znalazłem.
Moje pytanie brzmi o co k... kaman, bo ja tego nie ogarniam, może ktoś coś wie, co robie źle, albo czego nie robię. Dodam że googlowałem i nic nie znalazłem w tej kwestii. Aplikacja tak samo zachowuje się na każdej wersji symulatora od 5.0 w górę.
Jeszcze jedna ważna rzecz, gdy użyję metody disconnect biblioteki socketIO, to problem po ponownym uruchomieniu aplikacji nie występuje, jednak nie jestem w stanie przecież zapewnić że aplikacja zawsze wykona tę metodę.
Za wszelkie próby pomocy, kolegów z wększym doświadczeniem i wiedzą - z góry dziękuję.
iOS: socketIO, SocketRocket problem z ponownym połączeniem.
Rozpoczęty przez
zyxman
, 07 mar 2013 11:19
Brak odpowiedzi do tego tematu
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych