Я вот тоже не уверен. Никаких пояснений от Apple нет, никакого запроса на opt-out так же.
Сейчас провел тест — отключил обе опции, которые намекают на отправку точек и базовых станций. Включил HTTPS прокси. Посыпались запросы на gs-loc.apple.com, но к сожалению SSL хэндшейк не проходит — возможно есть клиентский сертификат. Местоположение получить не получается, я в офисе, GPS тут не ловит.
Отключил HTTPS прокси, оставил просто логирование запросов. Опять пошли запросы на gs-loc.apple.com, но на этот раз все выполнилось и местоположение было получено с определенным радиусом. Так что, вопреки переключателям, данные явно улетают, поэтому непонятно, что же они все таки отключают.
По какой-то причине сейчас даже на заранее рабочие запросы приходит ответ, что координаты получить не удалось. Делал я это все года два назад, на Windows Phone 7 еще. Так что что-то вполне могло измениться.
Естественно, больше никаких причин опровергать неверную информацию с вашей стороны у меня нет. Нет, к Яндексу я не имею никакого отношения. Более того, моя сфера деятельности связана именно с информационной безопасностью. Собственно, чего я вдруг полез в эти протоколы геолокации.
Опять вы рассуждаете на тему того, чего не понимаете. На вашем скриншоте явно изображен iPad, у которого нет 3G модуля, а значит нет GPS. Wifi геолокация на нем это единственный источник местоположения, поэтому те настройки, по сути, только за эту wifi геолокацию и отвечают, хотя их реально назначение — полное отключение служб геолокации вне зависимости от источника данных. Если же мы возьмем устройство с GPS модулем, то те опции не изменят своего смысла, а будут работать по своему прямому назначению — они полностью отключат службы геолокации, что означает отключение и wifi, и gps геолокации. Еще раз прочтите, что от вас хотели? Спрашивали вполне ясно.
Посему, никакого opt-out нет на iOS и никогда не было. Никаких доказательств вы не привели, потому что их и быть не может — такой возможности в iOS не заложено. В Windows phone, судя по беглому просмотру, тоже ничего подобного нет.
Яндекс.Метро не шпионит за пользователями apple
Не «шпионит», потому что официальный API не дает доступа к MAC'ам точек вокруг. Читайте, пожалуйста, комментарии, раз. Если использовать private API, то никакое отключение служб геолокации не остановит вас от получения списка видимых базовых станций и точек доступа, а с ним и получения координат через сторонние сервисы. Это я тоже делал лично. Базовые станции может получить даже AppStore приложение любое. Другое дело, что за Private API могут отозвать приложение из магазина или чего хуже.
Среди всех баз только Яндекс совсем никак не пытается защищать эти сведения
Тоже самое наблюдается у microsoft, которые точно так же собирают все идентификаторы вместе с точками. Читайте, пожалуйста, комментарии, два.
Я об этом и так вам уже сам рассказал в нескольких постах. Не меняйте тему. Речь об opt-out, которого, вопреки вашим словам, в iOS и Windows Phone нет. Вы рассказали про базу координат точек, на что последовало пояснение, что таких баз полно, и они в свободном доступе. На что вы опять сменили тему на какие-то идентификаторы. С такой непоследовательностью суждений вас просто невозможно понять. Еще и приводите ложные факты.
Вы продолжаете рассуждать на темы, в которых вы не в курсе. К чему эти настройки? Вас просят показать opt-out от геолокации по wifi. По вашей ссылке отключение всех сервисов местоположения для приложений — ни wifi, ни gps, вообще никакого местоположения. Это опять не в тему.
Зачем тогда спрашивать? Раз вы знаете, то покажите мне пожалуйста, где я могу запретить своему айфону отправлять видимые сети и станции для получения местоположения. Чтобы только один GPS использовался. Ваша ссылка выше никакого отношения к этому не имеет, как уже пояснили.
Выключенная опция местоположения означает отключение системных служб. Приложение может при этом делать все что ему вздумается (в соглашении пользователя вас об этом любезно уведомили даже) в пределах тех прав, которые вы ему оставили. Если API дает доступ к маку и базовым станциям, то почему бы яндексу не определить местоположение через свои сервисы? Опция в настройках андроида к этому никакого отношения не имеет. Я решительно не понимаю, как можно проводить параллель между этими абсолютно не связанными явлениями.
Возвращаясь к статье, я не увидел даже намека на то, что вы хотели донести статьей вверху. Вы сделали для себя какое-то открытие что ли? Поздравляю, теперь вы знаете, что таких баз куча. Заодно сообщу, что microsoft точно так же с каждым запросом координат точек отправит тучу идентификаторов устройства — никакой анонимизации, то бишь, нет (я не понимаю, ради чего вы выдумываете факты? Я эти протоколы лично реверсил, поэтому прекрасно знаком с тем, что и куда уходит). За сервисами местоположения apple такого не замечал, да.
Микрософтом не пользуюсь лично, на эпл нет, насколько знаю. Если вам нужен opt-out, то просто не пользуйтесь вообще сервисами местоположения. Оставляйте выключенными. И то у меня нет уверенности, что системные компоненты перестанут использовать их (им то никто не запрещает естественно). Если они включены и какое-то приложение запросило доступ к координатам, то с большой вероятность в ближайшее время на сервера эпл отправится запрос на получение координат wifi точек и базовых станций. И делает это iOS когда ей вздумается, потому что у нее до сих пор в базах копится трек базовых станций и wifi точек с координатами, временнОй меткой и прочими полезными данными, за который так ругали эпл. Правда, сейчас его вроде бы так просто уже не вытащить.
Могу вам подкинуть задачку чуть сложнее. Точно таким же образом можно получить координаты точек из баз Apple и Microsoft (те, которые я лично реверсил). Никаких API ключей, банальный HTTPS POST запрос без клиентских сертификатов и certificate pinning. Более того, у Apple все даже серьезнее — вы им один MAC, а они вам в ответ координаты сотни точек вокруг искомой еще заодно кидают. Правда берегитесь, у Apple протокол бинарный, хоть и достаточно известный. Есть еще skyhook, но там надо ключ получить — зарегистрироваться на сайте и вперед, дампите их базу сколько влезет.
А по статье, я не понял, что вы хотели ей донести. Да, есть такие базы и их много. Более того, они открыты и все к ним имеют доступ. Есть базы для MAC'ов WiFi точек, есть базы для LAC-CID базовых станций. Все открыто и доступно даже без всякого реверсинга.
Не видно никакой проблемы. Информация не персонализирована, очевидно используется для пополнения базы WiFi точек яндекса как написали выше. Так делают все — гугл, эпл, майкрософт. Все они периодически отсылают список станций вокруг и координаты. Трек перемещения у эпла до сих пор отлично просматривается в sqlite базах и исправно утекает при наличии интернета для пополнения тех самых баз точек WiFi и базовых станций. Более того, я не уверен, что у эпл это отключается.
В данном случае же вообще, мало того, что не персонализировано (даже никаких IMEI нет), так еще и без географических координат. И при чем здесь запрет на определение местоположения в настройках решительно непонятно.
Это одна из главных особенностей языка и его рантайма. Это просто прекрасная особенность. Вот именно про это слышать очень странно. Громоздкий и избыточный синтаксис — да, на каждом шагу новички плачут. У меня такое ощущение, что вам просто не хватает опыта.
Подобные вещи еще принято слышать в сторону былого NSAutoreleasePool — я и сам плевался от этой штуки. Но достаточно понять, как оно работает, и понимаешь, что это прекрасная штука.
Дженерики — да, типизированные структуры данных очень бы не помешали языку, но тут, наверное, ничего не поделаешь. Хотя по прошествии годов разработки конкретно на obj-C меня это перестало беспокоить.
Более того, я постоянно переключаюсь на C# и меня не покидает чувство, что хорошо бы, чтобы С# в некоторых моментах работал так же. Хотя сейчас уже больше в плане архитектуры самих SDK — всякие GCD и NSRunLoop чертовски крутые штуки рядом с непредсказуемыми ThreadPool и всякими асинхронными операциями, которые на него кидают колбэки. Асинхронное программирование на Cocoa это просто сказка. Хотя async/await конечно все равно высший пилотаж.
Я хоть и интересуюсь темой всех этих технологий, но ответить на ваш вопрос прямо со всеми подробностями вряд ли смогу. Вот ссылка gamedevcoder.wordpress.com/2011/04/11/light-pre-pass-vs-deferred-renderer-part-1/. Ну и сам факт, что именно на консолях именно light pre-pass стал, по сути, единственным подходом к шейдингу. Подавляющее большинство игр его использовало и именно он использует ся в cryengine 3. Хотя вот эта ссылка вносит путаницу во все это gameangst.com/?p=141 Но реальные коммерческие проекты говорят совсем не в пользу deferred shading — даже эксклюзивы той же пс3. Uncharted как раз на light pre-pass.
Я просто к тому, что во многочисленных статьях такого деления не видел. Есть Deferred Shading, есть Deferred Lighting. Две реализации одного подхода к рендерингу, отложенного, который является альтернативой forward'у.
Наоборот и по вашей ссылке так и написано. В CryEngine 3 использует 3-проходный light prepass. Несмотря на дополнительный проход он как раз считается более эффективным подходом нежели deferred shading. В основном из-за куда более гуманных требований к шине. Прошлое поколение консолей доминировало на рынке игр, а там это было очень важно, отчего все современные движки использовали именно deferred lighting.
Сейчас вот forward+ от AMD набирается обороты и уже засветился в парочке крупных проектов. Не знаю, что с ним там на самом деле, но из крупиц информации выглядит очень вкусно.
Вы серьезно упоминаете half life 2 в контексте графики? Он уже вскоре после выхода выглядел устаревшим. Сейчас это динозавр, так же как source engine. Сейчас пришли времена physically-based rendering и какого никакого рилтаймового global illumination. Если брать half life 2, то революционный скачок на лицо. А так, все плавно и постепенно улучшается, отчего выглядит медленно и незаметно. Хороший пример недавний call of duty, который как никто другой смог приблизиться к фотореализму. Заодно это, по моему, первый коммерческий опыт использования нашумевшей технологии рендера лиц www.iryoku.com/next-generation-life
Сейчас провел тест — отключил обе опции, которые намекают на отправку точек и базовых станций. Включил HTTPS прокси. Посыпались запросы на gs-loc.apple.com, но к сожалению SSL хэндшейк не проходит — возможно есть клиентский сертификат. Местоположение получить не получается, я в офисе, GPS тут не ловит.
Отключил HTTPS прокси, оставил просто логирование запросов. Опять пошли запросы на gs-loc.apple.com, но на этот раз все выполнилось и местоположение было получено с определенным радиусом. Так что, вопреки переключателям, данные явно улетают, поэтому непонятно, что же они все таки отключают.
2. Отправлять на inference.location.live.net/inferenceservice/v21/pox/GetLocationUsingFingerprint, POST запрос сжимается gzip. Шаблон взят прямиком из тестового кода.
По какой-то причине сейчас даже на заранее рабочие запросы приходит ответ, что координаты получить не удалось. Делал я это все года два назад, на Windows Phone 7 еще. Так что что-то вполне могло измениться.
Посему, никакого opt-out нет на iOS и никогда не было. Никаких доказательств вы не привели, потому что их и быть не может — такой возможности в iOS не заложено. В Windows phone, судя по беглому просмотру, тоже ничего подобного нет.
Не «шпионит», потому что официальный API не дает доступа к MAC'ам точек вокруг. Читайте, пожалуйста, комментарии, раз. Если использовать private API, то никакое отключение служб геолокации не остановит вас от получения списка видимых базовых станций и точек доступа, а с ним и получения координат через сторонние сервисы. Это я тоже делал лично. Базовые станции может получить даже AppStore приложение любое. Другое дело, что за Private API могут отозвать приложение из магазина или чего хуже.
Тоже самое наблюдается у microsoft, которые точно так же собирают все идентификаторы вместе с точками. Читайте, пожалуйста, комментарии, два.
Потому что на iOS доступа к такой информации официально нет. Доступен MAC и SSID только текущей точке, к которой подключено устройство.
Выключенная опция местоположения означает отключение системных служб. Приложение может при этом делать все что ему вздумается (в соглашении пользователя вас об этом любезно уведомили даже) в пределах тех прав, которые вы ему оставили. Если API дает доступ к маку и базовым станциям, то почему бы яндексу не определить местоположение через свои сервисы? Опция в настройках андроида к этому никакого отношения не имеет. Я решительно не понимаю, как можно проводить параллель между этими абсолютно не связанными явлениями.
Возвращаясь к статье, я не увидел даже намека на то, что вы хотели донести статьей вверху. Вы сделали для себя какое-то открытие что ли? Поздравляю, теперь вы знаете, что таких баз куча. Заодно сообщу, что microsoft точно так же с каждым запросом координат точек отправит тучу идентификаторов устройства — никакой анонимизации, то бишь, нет (я не понимаю, ради чего вы выдумываете факты? Я эти протоколы лично реверсил, поэтому прекрасно знаком с тем, что и куда уходит). За сервисами местоположения apple такого не замечал, да.
А по статье, я не понял, что вы хотели ей донести. Да, есть такие базы и их много. Более того, они открыты и все к ним имеют доступ. Есть базы для MAC'ов WiFi точек, есть базы для LAC-CID базовых станций. Все открыто и доступно даже без всякого реверсинга.
В данном случае же вообще, мало того, что не персонализировано (даже никаких IMEI нет), так еще и без географических координат. И при чем здесь запрет на определение местоположения в настройках решительно непонятно.
Это одна из главных особенностей языка и его рантайма. Это просто прекрасная особенность. Вот именно про это слышать очень странно. Громоздкий и избыточный синтаксис — да, на каждом шагу новички плачут. У меня такое ощущение, что вам просто не хватает опыта.
Подобные вещи еще принято слышать в сторону былого NSAutoreleasePool — я и сам плевался от этой штуки. Но достаточно понять, как оно работает, и понимаешь, что это прекрасная штука.
Дженерики — да, типизированные структуры данных очень бы не помешали языку, но тут, наверное, ничего не поделаешь. Хотя по прошествии годов разработки конкретно на obj-C меня это перестало беспокоить.
Более того, я постоянно переключаюсь на C# и меня не покидает чувство, что хорошо бы, чтобы С# в некоторых моментах работал так же. Хотя сейчас уже больше в плане архитектуры самих SDK — всякие GCD и NSRunLoop чертовски крутые штуки рядом с непредсказуемыми ThreadPool и всякими асинхронными операциями, которые на него кидают колбэки. Асинхронное программирование на Cocoa это просто сказка. Хотя async/await конечно все равно высший пилотаж.
СПб, InterZet.
Сейчас вот forward+ от AMD набирается обороты и уже засветился в парочке крупных проектов. Не знаю, что с ним там на самом деле, но из крупиц информации выглядит очень вкусно.