Архив

Архив раздела ‘Apple’

Обход ограничение на раздачу мобильного интернета

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

И так, что нам понадобится. Смартфон с функцией раздачи интернета (internet sharing), компьютер с macOS, и все. Получать рут-доступ к смартфону не понадобится. Все делается буквально одной командой в терминале.
Для начала совсем немного теории. Как вообще операторы определяют, что устройство подключено через шлюз смартфона? В структуре пакета протокола IP (Internet Protocol) есть поле TTL (Time To Live) с целочисленным значением. Когда пакет данных покидает устройство, поле TTL устанавливается в определенное значение, например, 128. При каждом прохождении очередного маршрутизатора (коим также является и наш смартфон с точки зрения ноутбука), данное значение уменьшается на 1. То есть, наш смартфон, передавая пакет, отправленный с макбука, передаст этот пакет на роутер провайдера с TTL=127. И вот здесь провайдер и понимает, что пакет прошел уже один роутер, а значит, имеет место факт раздачи интернета.
Как с этим бороться?
К счастью, в macOS это делается всего одной командой терминала.
Но для начала нужно определить, какой TTL у нашего смартфона.

1. Для этого подключаемся как обычно к хотспоту нашего смартфона, и идем в настройки сети, чтобы узнать IP-адрес нашего шлюза (смартфона).
2. Ищем наш текущий IP адреc, который был присвоен роутером смартфона нашему макбуку.

Допустим, это 172.20.10.7
Тогда адрес шлюза в большинстве случаев будет 172.20.10.1 (последнее число меняется на 1)
3. Далее выполняем пинг шлюза.

$ ping 172.20.10.1
PING 172.20.10.1 (172.20.10.1): 56 data bytes
64 bytes from 172.20.10.1: icmp_seq=0 ttl=64 time=2.165 ms
64 bytes from 172.20.10.1: icmp_seq=1 ttl=64 time=10.146 ms
64 bytes from 172.20.10.1: icmp_seq=2 ttl=64 time=3.050 ms
64 bytes from 172.20.10.1: icmp_seq=3 ttl=64 time=1.994 ms

получаем значение TTL=64.

4. Далее прибавляем единицу к этому значению и выполняем команду

sudo sysctl net.inet.ip.ttl=65 net.inet.ip.ttl: 65 -> 65

команда требует ввода админ пароля.
И после этого интернет на макбуке должен появиться.

Categories: Apple, Всячина Tags:

OS X: Показать рабочий стол (аналог Win-D)

Давно мне не давало покоя отсутствие функции Скрыть все окна в Mac OS X. Почему это так важно для меня? Я чувствую дискомфорт от нагромождения окон на экране, или если в браузере открыта бесконечная куча вкладок, или ярлыков на рабочем столе тьма тьмущая, у меня все это вызывает приступы паники. Чтобы максимально сосредоточить внимание на конкретной задаче, мне нужно, чтоб на экране было не более трех окон. Прошло уже 5 лет, как я мигрировал с Windows, и все это время я пользовался убогим воркэраундом — Скрыть остальные (Option-Cmd-H) в меню приложений. Сегодня же я нашел и осуществил вполне себе достойный способ скрыть все окна одним кликом мыши. Сейчас расскажу, как мне удалось это сделать.

Читать далее…

Categories: Apple, Coding Tags:

Преобразовать двоичный plist в XML

Периодически возникает задача преобразовать plist файл из бинарного представления обратно в XML. Возникает эта задача как правило тогда, когда нужно из IPA архива извлечь plist файл проекта и посмотреть, что у него внутри. Это затруднено тем, что сборщик IPA (утилита xcrun) упаковывает все, что только можно, чтобы уменьшить размер приложения, и вероятно это ускоряет запуск приложения. Решил раз на пятый это дело скинуть себе в блог, чтоб не искать каждый раз мучительно.
Читать далее…

Categories: Apple, Coding Tags: , , , , ,

HexLauncher: быстрый запуск приложений в Mac OS X

5 апреля 2015 9 комментариев

История создания данного продукта возвращает меня на 5 лет назад во времена, когда я только начал входить в мир Apple технологий, а именно — мигрировать на операционную систему Mac OS X. Как и для многих пенреход был связан с некоторыми неудобставми из-за отсутствия привычных программ и элементов управления системой. Одним из недоразуменей стало отсутствие аналога кнопки Пуск для запуска программ путем выбора из списка. Честно говоря, до сих пор не уверен, что я правильно запускаю программы в OS X (для этого я использую Spotlight). И вот, спустя несколько лет я решил устранить этот недостаток.
Читать далее…

Прощай, Хакинтош

Эту заметку мне захотелось написать после нескольких неприятных моментов, связанных с утратой работоспособности моего мак-компьютера. После очередного системного обновления Maverick макбук перестал загружаться. Серый экран с яблоком и индикатор загрузки и дальше ни в какую. Я думал, что уже не столкнусь с таким никогда — времена хакинтоша давно позади. Некоторое время я был очень подавлен и не мог осознать реальность. Сразу вспомнил про вербальный режим загрузки (Cmd-V при включении питания). Запустил в этом самом verbose-режиме загрузку и вот что увидел в конце: Читать далее…

Categories: Apple Tags: ,

Подготовка Apple Push Notification SSL сертификата

Сегодня хотел бы записать на память один нетривиальный процесс, касающийся внедрения механизма Apple Push Notification Service, который осуществляет рассылку коротких сообщений на устройства пользователей приложений в AppStore. И хотел бы я записать последовательность действий, производимых при создании и установки SSL Push Certificate, без которого не будет работать серверная часть, рассылающая пуши. Также если останется место, напишу, как реализовать самый простецкий push-сервер на php. Сама функция Push Notification очень полезна для оповещения пользователей о новых событиях в системе. Такие монстры, как Skype, Google, WhatsApp используют технологию push, чтобы осуществлять вызов абонентов или уведомлять о новых сообщениях на манер, как это делает стандартное приложение PhoneApp. Читать далее…

Как добавить в OS X шрифт ttf, otf

Решил вот накидать небольшую статью в стиле nota bene, иначе каждый раз мучительно вспоминать приходится. А рассказать я хотел, как установить в Mac OS X дополнительный шрифт, например, в формате ttf (True Type Font) или otf (Open Type Font). В стандартных настройках я такого не нашел, может плохо искал) Но вот гугл подсказывает иные вещи. Может кому-то окажется полезным.

Нужно положить /Library/Fonts (если у вас в MaxOS X установлена русская локализация, папка может в Finder выглядеть как /Библиотека/Штрифты). Самое сложно в этом все, это то, что по умолчанию эту папку нельзя увидеть стандартной программой Finder (с помощью Far Manager ясное дело все видно:). Весь трюк в том, чтобы использовать возможность самого приложения Finder — это Перейти к папке. Получить доступ к этой функции можно из системного меню Finder:

 

Далее дело техники. Прописываем в нужном поле /Library/Fonts и нажимаем Перейти

Копируем файлы ttf-шрифтов, раздабуденных праведным образом конечно же, в папку /Library/Fonts

B вуаля! Шрифты моментально должны появиться во всех диалогах выбора шрифта системы, если конечно инсталляция прошла успешно.

 

OSX: восстановление перезатертых файлов

7 января 2013 2 комментария

Хочу поделиться с вами своей радостью в связи с торжеством человеческого разума. Таких моментов в жизни крайне мало (в моей так точно), поэтому это так и радует :)…
На праздниках я работал над одним проектом в xCode IDE, и случайно (!) перезатер полностью один модуль, над которым работал двое суток. Когда я осознал содеянное, внутри меня все похолодело — я мысленно стал рвать волосы на всех частях тела, прикидывая безрадостные перспективы и бороться с жутким приступом бессилия. И, о чудо! На смену панике пришла призрачная надежда, поражденная мыслью: а ведь HFS+ (нативная файловая система OSX) является версионной! Читать далее…

Categories: Apple Tags:

iTunesConnect: сохранение в базу отчетов о продажах

Озадачился я недавно проблемой сбора различной статистики в iTunesConnect. В большей степени хотелось иметь быстро доступную и что важнее, полную статистику скачиваний. Портал iTunesConnect дает возможность просматривать и скачивать недельные sales reports за последние три месяца, а дневные за последний месяц. Таким образом, со временем часть статистики теряется, что не есть хорошо. Решение напрашивается само: создать некий механизм, который будет ежедневно собирать данные и сохранять их в базу. Далее уже можно всякие красивости наводить типа визуализации/аналитики. Ко всему прочему, можно попутно сохранять текущее состояние приложений, что может быть полезно, если какие-либо приложения в состоянии Waiting For Review.   Читать далее…

SVN export without client app

29 февраля 2012 Нет комментариев

Небольшая заметка об использовании SVN на OS X. Не могу найти нормального бесплатного клиента SVN. Штатный xcode клиент выносит мне мозг, плюс ко всему ограничен в функциях — не может сделать банальный export (скачать определеную папку без своих запчастей .svn). Долго искал аналог Tortoise Repo Browser (по моему мнению — самый лучший GUI клиент), нашел нечто (SCPlugin), но, вероятно, в виду своей бесплатности он очень страшный и к тому же не развивается (последний релиз в 2010 году). Самое на мой взгляд приличное для мак решение — это Versions, но он обладает большим недостатком — ценой)) Чувствую, все-таки раскошелюсь в ближайшем будущем. А пока, для того, чтобы реализовать рекурсивную очистку проекта от миллиона вложенных папок .svn я применил такой workaround

Читать далее…

Categories: Apple, Coding Tags: , , ,