iOS 7.1 Apple ruošiasi žengti keistą žingsnį atgal
Apple iOS 7.1 beta versijoje padaryti pakeitimai rodo, kad iPhone gamintoja planuoja vėl pakeisti tai, kaip veikia geolokacijos tarnybos po to kai aplikacija uždaroma.
Apple iOS 7.1 beta versijoje vėl pakeitė geolokacijos tarnybų elgseną po to kai priverstinai uždaromos geolokacijos duomenų tarnybas naudojančios aplikacijos. iOS 7.0 po to kai vartotojas du kartus paspaudžia „Home“ mygtuką ir pabraukimu piršto į viršų priverstinai uždaro aplikaciją, su ja susijusių ir tos aplikacijos naudojamų geologacijos (vartotojo buvimo vietos nustatymo) tarnybų darbas nutraukiamas taip pat. iOS 7.1 taip uždarius aplikaciją geolokacijos tarnybos lieka veikti - taip pat kaip tai buvo iOS 6.
Nežinau ar čia Apple pati taip sugalvojo, ar išgirdo tokių kaip „Life360“ aplikacijos kūrėjų paverkšlenimus Apple siunčiamuose laiškuose, tačiau naujoje iOS 7.1 versijoje šios tarnybos ir liks veikti ir uždarius aplikaciją taip tęsdamos geolokacijos duomenų siuntimą į aplikaciją aptarnaujančius serverius bei sodindamos iPhone bateriją.
Mano galva, jei vartotojas uždaro aplikaciją, normalu, jog jis tikisi, kad ir visos su ja susijusios tarnybos veikiančios foniniame režime baigs darbą taip pat, o jei vartotojas nori, kad jos veiktų - turėtų laikyti tą aplikaciją atidarytą. Ir tokie programuotojų paverkšlenimai, kad po to kai Apple iOS 7.0 pakeitė geolokacijos tarnybų veikiančių foniniame režime elgseną, jų (programuotojų) aplikacijos pradėjo gauti blogus vertinimus, neturėtų jaudinti Apple.
Ar aš čia kažką ne taip suprantu?
Žemiau pateikiu Hull ir kitų programuotojų pasirašytą laišką Apple originalo kalboje:
Dear Apple iOS Development Team,
We are a group of Apple developers who rely on iOS geolocation services for core parts of our businesses. iOS 7 was hugely exciting to us, as new features such as Location Beacons, Background Networking, and Multi-Peer Connectivity give us the ability to do things we never thought were possible.
In previous versions of iOS, if a user killed an application in the app switcher, developers were still able to get geolocation in the background. With iOS 7, once a user kills an application, all processes are terminated until the user manually restarts the app. We appreciate the intent behind this change, which we realize was done to give users more control over what is running on their phones, but it has caused major unintended consequences. … Many developers who rely on background geolocation have seen their app ratings fall by over 3 stars.
Tai nelabai supratau, kam buvo reikalingas tas background refresh?... Bent tikiuosi, kad tai leis sutvarkyti reminders aplikaciją, nes ant iOS 7 uždarius reminders, nesuveikdavo location pranešimai, net ir įjungus background refresh, ko nebūdavo ant iOS 6.
Man porą kartų location reminder nesuveikė, patyrinėjęs kodėl, manau, radau priežastį, kai reminderyje paspaudžiau ant žemėlapio, tai toli gražu nebuvo ta vieta, kurią tikėjausi išvysti.
Neseniai net ir Google Waze, pasakiau, kad naviguotų mane į Tilto gatvę (nes nežinojau kurioje vietoje tas namas Tilto gatvėje, bet žinau puikiai kur yra pati gatvė), tai ji mane norėjo vežti kažkur link Savanorių prospekto (iš Antakalnio į Tilto gatvę kelias vedė link Savanorių, nesigilinau kur tiksliai ten). Gerai, kad žinojau kur Tilto gatvė Vilniuje... priešingu atveju būčiau atsidūręs labai toli nuo man reikiamos vietos.
Vienas dalykas Apple aplikacijos ir veikiantys procesai background'e, o kitas dalykas 3-ų šalių aplikacijos, kurios net jas kill'inus trackins buvimo vietą dažniausiai be jokio įspėjimo.