iOS vs Android - у Apple развяжется пупок?

User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: iOS vs Android - у Apple развяжется пупок?

Post by Интеррапт »

Ljolja wrote: I'd put an assumption that you do have permission from the beginning as wrong. So, if the code is written with catch exception, there shouldn't be an issue, it you got a piece of code from somewhere in internet and it's not as great as you'd expect - don't complain :-) .
Тут не нужно "I'd put an assumption that you do have permission from the beginning as wrong.". Все эти assumptions прописываются в manifest файле.
А каждую строчку кода ты случайно на java.lang.OutOfMemoryError не проверяешь? Эх, жаль, что я никогда твоего Андроид кода не видел :)
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: iOS vs Android - у Apple развяжется пупок?

Post by Интеррапт »

Но склоняюсь к мнению Аццко, что Гугл эту фичу или вообще public не выкатит или будет возвращать валидный инстанс класса, который ничего не будет делать. Например, если это сервис вибратора, то инстанс возвратится, но вибрировать не будет.
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: iOS vs Android - у Apple развяжется пупок?

Post by АццкоМото »

Интеррапт wrote: Работа с файловой системой может и не регулируется, а вот чтение с SD карты - вполне может.
Я не могу этого гарантировать, но похоже, что не регулируется. Все пермишены, которые можно отключить (и которые я видел) можно представить, как отключить аккуратно. А вот уже чтение c sd card я представить не могу, как отключить без эксепшенов
Мат на форуме запрещен, блдж!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: iOS vs Android - у Apple развяжется пупок?

Post by Интеррапт »

АццкоМото wrote:
Интеррапт wrote: Работа с файловой системой может и не регулируется, а вот чтение с SD карты - вполне может.
Я не могу этого гарантировать, но похоже, что не регулируется. Все пермишены, которые можно отключить (и которые я видел) можно представить, как отключить аккуратно. А вот уже чтение c sd card я представить не могу, как отключить без эксепшенов
Ну чтение с SD card как бы в правильном коде вообще должно проверяться заранее, т.к. этой самой карты может и не быть. Вот похоже список отрубаемых exceptions:
location
read calendar
modify calendar
read contacts
read call log
modify contacts
modify call log
read SMS
write SMS
receive SMS
receive MMS
send SMS
receive WAP push
vibrate
modify settings
access notifications
call phone
record audio
camera
draw on top
post notification
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: iOS vs Android - у Apple развяжется пупок?

Post by АццкоМото »

Интеррапт wrote: Ну чтение с SD card как бы в правильном коде вообще должно проверяться заранее, т.к. этой самой карты может и не быть.
Да, но это другая проверка, которую можно сделать очень по-разному. Плюс, хоть это и странный подход, но я же могу сделать приложение доступным только для некоторых моделей телефонов - во всех из них, как я точно знаю, карта впаяна и проверка типа как излишняя. (Да, я знаю, что и впаянную карту можно unmount)
Интеррапт wrote: Вот похоже список отрубаемых exceptions:
все вроде тривиально должно отключаться, но как отключить камеру - нипанятна. можно, конечно, транслировать картинку "хрен вам, а не камера", но не верится. хотя....
Мат на форуме запрещен, блдж!
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: iOS vs Android - у Apple развяжется пупок?

Post by Интеррапт »

Вообщем затестировал. Сделал приложение, которое читает контакты. Добавил
<uses-permission android:name="android.permission.READ_CONTACTS"/>

ну вообщем все как положено. Запустил. Потом вызвал App Ops.
adb shell am start -a android.settings.APP_OPS_SETTINGS

оно стартануло мне активити со всеми сеттингами. Отрубил чтение контактов. Запустил приложение опять. Все в порядке, поведение просто как-будто адресная книга пустая.
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: iOS vs Android - у Apple развяжется пупок?

Post by Ljolja »

Интеррапт wrote: А каждую строчку кода ты случайно на java.lang.OutOfMemoryError не проверяешь? Эх, жаль, что я никогда твоего Андроид кода не видел :)
не каждую не проверяю, но когда ява kод доводилось писать, то проверок таки там было ну очень много. Для андроида мне пока хватало уже написаного кода (я вообше не очень люблю код писать :oops: ). имхо писать для мобиле лучше на js, так сказать универсально, системно специфический код - только для инфраструктуры. Но предполагать что она имеется всегда и работает, как ожидается, имхо слишком самонадеяно.
я кстати твоего кода тоже не видела :oops:
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: iOS vs Android - у Apple развяжется пупок?

Post by Интеррапт »

Аццко, все-таки кое-где backward compatibility убилось. Так что теперь нельзя говорить, что абсолютно любой код, который работает под 2.x, - пойдет на 4.3. Я попробовал вот такую штуку (пример очень надуманный и даже тупой, я так код бы не писал, но все же).

Влепил две кнопки на форме, по нажатию первой, открывается курсор на чтение адресной книги и передвигаю его на первую запись. По нажатию второй - собственно идет чтение адресной книге. Ну так вот, нажимаю на первую кнопку, потом на вторую - все в порядке - читает. Ну перезапускаю программу, нажимаю на первую кнопку, затем открываю App Ops, убиваю пермишины на чтение адресной книги, возвращаюсь в приложение, нажимаю вторую кнопку, происходит креш. Т.е. все-таки хреново написанный код имеет определенные шансы работать под 2.x и крешнуться под 4.3.
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: iOS vs Android - у Apple развяжется пупок?

Post by Ljolja »

Интеррапт wrote:Но склоняюсь к мнению Аццко, что Гугл эту фичу или вообще public не выкатит или будет возвращать валидный инстанс класса, который ничего не будет делать. Например, если это сервис вибратора, то инстанс возвратится, но вибрировать не будет.
может статься ето совсем не то, чего ожидает юзер.
Как-то сижу я теплым зимним вечером на патио и покусывают меня комары, отчего вечер становится чуть менее приятным. google play предлагает мне програму, требуюшую доступ к вибратору, как отличнейшее средство от комаров :D . Если у меня вибратор отключен, поломан или еше что с ним не так, запускаю я твою программу в надежде, что magics will happen. На утро просыпаюсь обглоданая чуть ли не до костей, что я напишу о твоей программе в качестве отзыва :angry: :D ?
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Re: iOS vs Android - у Apple развяжется пупок?

Post by Palych »

А меня вот какой аспект интересует:
В Android есть ресурс Full Network Access.
Доступ к нему бинарный: пущать или не пущать.
Бесплатные приложения хотят этот ресурс чтобы показывать рекламу.
А как я узнаю что оно использует сеть именно для этого? Может она врагам телеграммы шлёт?
Не рассматривал ли кто-то более подробное разделение полномочий?
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: iOS vs Android - у Apple развяжется пупок?

Post by Интеррапт »

Palych wrote:А меня вот какой аспект интересует:
В Android есть ресурс Full Network Access.
Доступ к нему бинарный: пущать или не пущать.
Бесплатные приложения хотят этот ресурс чтобы показывать рекламу.
А как я узнаю что оно использует сеть именно для этого? Может она врагам телеграммы шлёт?
Не рассматривал ли кто-то более подробное разделение полномочий?
Не представляю, каким образом это можно имплементировать. Разве что рекламу вынести куда-то на системный уровень и чтобы девелопер вставлял рекламу в приложение при помощи системных API. Тогда можно сделать отдельный пермишин "Ads" и ес-но он будет невыключаемым (не зря же Гугл AdMob купил).
User avatar
Интеррапт
Уже с Приветом
Posts: 17281
Joined: 07 Sep 2011 10:05
Location: Seattle, WA

Re: iOS vs Android - у Apple развяжется пупок?

Post by Интеррапт »

Ljolja wrote:Как-то сижу я теплым зимним вечером на патио и покусывают меня комары, отчего вечер становится чуть менее приятным. google play предлагает мне програму, требуюшую доступ к вибратору
И вечер становится гораздо приятней :D
Palych
Уже с Приветом
Posts: 13722
Joined: 16 Jan 2001 10:01

Re: iOS vs Android - у Apple развяжется пупок?

Post by Palych »

Интеррапт wrote:
Palych wrote:А меня вот какой аспект интересует:
В Android есть ресурс Full Network Access.
Доступ к нему бинарный: пущать или не пущать.
Бесплатные приложения хотят этот ресурс чтобы показывать рекламу.
А как я узнаю что оно использует сеть именно для этого? Может она врагам телеграммы шлёт?
Не рассматривал ли кто-то более подробное разделение полномочий?
Не представляю, каким образом это можно имплементировать. Разве что рекламу вынести куда-то на системный уровень и чтобы девелопер вставлял рекламу в приложение при помощи системных API. Тогда можно сделать отдельный пермишин "Ads" и ес-но он будет невыключаемым (не зря же Гугл AdMob купил).
Я тоже не представляю. Думал - может прорыв какой-нибудь случился.
Теоретически можно и сеть отдельную сделать под это, на уровне APN/IMS... Типа Software Defined Network. Но я не знаю может ли это контролировать с телефона...
Наверняка Apple знает как это сделать. Но нам ещё не рассказал.
User avatar
АццкоМото
Уже с Приветом
Posts: 15276
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: iOS vs Android - у Apple развяжется пупок?

Post by АццкоМото »

Интеррапт wrote:Аццко, все-таки кое-где backward compatibility убилось. Так что теперь нельзя говорить, что абсолютно любой код, который работает под 2.x, - пойдет на 4.3. Я попробовал вот такую штуку (пример очень надуманный и даже тупой, я так код бы не писал, но все же).

Влепил две кнопки на форме, по нажатию первой, открывается курсор на чтение адресной книги и передвигаю его на первую запись. По нажатию второй - собственно идет чтение адресной книге. Ну так вот, нажимаю на первую кнопку, потом на вторую - все в порядке - читает. Ну перезапускаю программу, нажимаю на первую кнопку, затем открываю App Ops, убиваю пермишины на чтение адресной книги, возвращаюсь в приложение, нажимаю вторую кнопку, происходит креш. Т.е. все-таки хреново написанный код имеет определенные шансы работать под 2.x и крешнуться под 4.3.
Экий ты хитрован :) Ну, может гугл тоже специально нахитрил - в 4.3 включил так неофициально и сейчас смотрит, какие косяки полезут. А к ним типа и претензий нет - все же неофициально.
А крешнуть валидный 2.х код под 4.3 можно еще проще и вполне официально. Берешь какое-нибудь приложение, что по кнопке Help запускает браузер. И запускаешь его под restricted account с запрещенным браузером. Оно, конечно, и раньше интент было желательно сначала резолвить, а потом уже постить, если зарезолвился. Но едва ли это кто-то реально делал для браузера, который кагбэ есть всегда
Мат на форуме запрещен, блдж!
User avatar
Ljolja
Уже с Приветом
Posts: 2924
Joined: 01 Apr 2004 04:22

Re: iOS vs Android - у Apple развяжется пупок?

Post by Ljolja »

Palych wrote: Наверняка Apple знает как это сделать. Но нам ещё не рассказал.
думаю, Вы их переоцениваете. У них сушественная часть девелоперского сервера до сих пор не доступна. Хотя они уже 2ю порцию емаилов прислали что она (опять) available. Хотя конечно может bottleneck не в дев части, а никак ихние lawyers не напишут новую лицензию типа: "если вы по нашей вине так или иначе пострадали - обязуетесь доплатить нам сумму вашего ушерба"
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)

Return to “Вопросы и новости IT”