Pull to refresh

Comments 18

Лучше читать по-настоящему интересный контент с ошибками, чем желтизну про криптовалюты со ссылками на биржи и майнинг-сервисы.
Комбинируя всё лучшее из этой ветки обсуждения:
«Лучше читать качественный контент», куда входит качество наполнения и качество оформления, в том числе орфография.
Очень интересно!
Бог с ней, с орфографией, но хотелось бы больше подробностей работы ОС.
Если можно заказывать, то очень хотелось бы поковырять загрузку и помигать светодиодом, подключёнными к пинам разъёма загрузки.
Это всё уже давно отреверсено, гуглить в сторону «OpeniBoot»
>Изменим число иконок по вертикали на 6, для этого вычисляем смещение команды, снова патчим файл и загружаем его на устройство.

У вас же вертикаль и горизонталь в тексте поперепутаны.
На iPhone 2g встает андроид. Старый, но встает.
Если хочешь поиздеваться поставь)
UFO just landed and posted this here
Это адрес загрузки сегмента кода. Эта информация записана в mach-o в командах загрузки самого сегмента.
UFO just landed and posted this here
Странная статья какая-то. Зачем-то полезли в дебри патчинга инструкций, когда все достигается рантайм хуками ObjC методов через подгрузку динамической библиотеки в процесс SpringBoard. Собственно, все модификации так и делаются. Патчами никто на iOS не занимался всерьез.

Что до документации, ее полно на самом деле. Есть вики с очень полезными подсказками и куча ответов на стэке, где я и сам обитаю. Все разбросано конечно по сети, но ищется без проблем.

данные модификации будут работать и на других версиях(может быть).

С минимальной вероятностью. Между версия эпл лопатит компоненты системы по полной программе. Где-то до 7-8 версии iOS внутри вообще творился жутчайший бардак в плане архитектуры. Кругом были монструозные демоны, которые делали все что только можно, да еще написано это все было хрен знает как. SpringBoard конечно таким до сих пор остался, но в остальном с каждой версией все больше выделяется микросервисов — пачками плодятся вспомогательные демоны, которые делают тоже самое, но удаленно по XPC. В этот же момент кардинально упростилась и модификация системы. Вносить серьезные изменения в поведение SpringBoard'a было мучительно больно до этого, т.к. приходилось переделывать десятки методов с взаимосвязями между собой.
UFO just landed and posted this here
Подгрузить сотню другую килобайт кода в процесс это ерунда даже для 2g. Куча ненужных демонов все таки совершенно другая нагрузка.
UFO just landed and posted this here
Вижу взгляд знатока. Что скажете про современный iOS внутри?
С тех пор как с джейлами стало туго перестал туда лезть. Но, если прослеживать тренд до 9 версии включительно, то все шло в одном и том же направлении. Большие демоны бьются на более мелкие, которые порой не работают все время, а запускаются по требованию (любопытно, что launchd начал даже ругаться на демоны, которые стартуют с системой и работают постоянно). Все больше кода выделяется в общие фреймворки, которые переиспользуются системой.

В этом плане очень большая работа была проделана с подсистемами сообщений и звонков. До версии 8 что ли это все было очень криво. Там да сям везде понемногу все занимаются этим, а sprinboard как обычно помойка для кода со всей системы. Теперь несколько конкретных фреймворков и парочка демонов небольших, которые делают всю работу на низком уровне. Это логично, потому что все вели к тому, что появился CallKit и более тесная интеграция VoIP приложений.

Это еще и безопасность увеличивает. Раньше было как, огромный демон с тонной entitlement'ов и никакущими ограничениями песочницы. Никак не ограничить такого монстра в правах, когда он всю подсистему на себе тащит. Теперь же маленькие XPC демоны выполняют конкретные задачи и требуют для этого парочку entitlement'ов, да еще находятся в строгих песочницах нередко. В этом плане очень порадовал механизм remote view controller, когда у тебя в приложении отображается какой-то контроллер, а на самом деле он выполняется в другом процессе и по XPC передает сообщения для синхронизации состояния. Так реализован, к пример, диалог отправки SMS сообщений. Раньше код выполнялся в контексте твоего же приложения и неизбежно люди начали скрытно отправлять SMS сообщения из AppStore приложений. Теперь это окно это remote view controller в специальном XPC демоне со специальным entitlement. При всем желании ничего толком не сделаешь больше.

Естественно это не может не влиять на прожорливость системы. Количество системных демонов и XPC сервисов растет как на дрожжах. Но тут других вариантов не видно.
Здорово, спасибо! А если сравнивать с Андроидом — небо и земля?
К сожалению, с ним я не работал от слова вообще. Думаю, что там ситуация не сильно отличается. Да и как-то интереса к платформе никогда не было. По виду, привычный себе линукс. iOS внутри все таки довольно интересная и уникальная штука. Даже в сравнении с OSX, которую лишь постепенно подтягивают на теже механизмы. Недавно вон bluetooth смотрел — удивлен, что у них сильно разные реализации стэков. В OSX явно обросший мхом уже код, который порой такую фигню творит, а от того криво работает. В iOS уже написано как полагается.
Sign up to leave a comment.

Articles