12 лучших инструментов разработчика для Mac

Огромная подборка полезных ресурсов, которые могут пригодиться разработчикам под iOS для решения повседневных задач и организации своей деятельности.

WinterBoard — меняем иконки на домашнем экране

Этот твик добавляет iOS поддержку самых настоящих тем оформления.

Я напряженно работаю с iPhone, iPad и MacBook по 12–14 часов в день без перерывов и выходных. Конечно, уже спустя неделю подобного графика меня раздражает внешний вид системы целиком и полностью. Выход есть — изменить расположение элементов, установить новые обои для рабочего стола и свежую тему для WinterBoard.

Среди моих самых любимых тем — Pastels и Pastels DaCo от нашего соотечественника.

Готовые для разных поколений процессоров

Если вам лень или настройка конфига вам слишком сложна по первой, то лучше воспользоваться, универсальными файлами , составленными для определенных поколений CPU:

  • Ivy Bridge
  • Haswell
  • Skylake
  • Kaby Lake
  • Coffee Lake

Они еще требуют доработки, но более или менее подходят многим.

Далее файл необходимо переместить на загрузочную флешку, раздел EFI, папка Clover.

В следующей статье я расскажу вам как установить macOS (Hackintosh) на компьютер.

Следующий шаг: Значение аргументов при загрузке Хакинтош

У вас еще остались дополнительные вопросы? Задавайте их в комментариях, рассказывайте о том, что у вас получилось или наоборот!

Вот и все! Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней! Больше статей и инструкций читайте в разделе Статьи и Хаки Android.

Запуск MacOS на ПК с виртуальной машиной

  • После установки откроется окно с выбором страны. Выбираем «Россия» и тапаем по кнопке «Продолжить».
  • Далее указываем раскладку клавиатуры.
  • Вряд ли у вас есть MacBook, а значит переносить нечего. А даже если и есть, то все равно не переносим информацию. Выбираем «Не переносить информацию».
  • Отключаем галочку геолокации, для виртуалки это нам не понадобится.
  • Выбираем пункт «Не входить», чтобы не рисковать своим аккаунтом (могут ведь заблокировать? Или я не прав?).
  • Принимаем условия пользования системой.
  • Вводим имя и ник учетной записи и задаем пароль – главное не забудьте его.
  • В поиске прописываем «Москва» и выбираем часовой пояс.
  • Если появилось окно с включением Siri, то использовать или нет, решать вам. Возможно на виртуалке она не будет работать.

Как изменить разрешение экрана на VirtualBox с Mac OS X

Теперь, когда вы успешно установили систему на виртуальную машину, можно ее использовать и тестировать на свое усмотрение. Единственный минус – не получается с помощью самой программы поменять разрешение экрана. Оно либо маленькое, либо настолько широкое, что элементы на экране растягиваются.

Чтобы в гостевой ОС изменить разрешения экрана на VirtualBox понадобится командная строка и изменение параметров.

Запуск MacOS на ПК с виртуальной машиной
  • С повышенными привилегиями запускаем командную строку.
  • Переходим в каталог с программой – cd “C:\Program Files\Oracle\VirtualBox\”.
  • Вводим команды для изменения разрешения по горизонтали и вертикали:

    VBoxManage setextradata MacOS VBoxInternal2/EfiHorizontalResolution 1440 VBoxManage setextradata MacOS VBoxInternal2/EfiVerticalResolution 900

  • Запускаем гостевую систему и проверяем.
Запуск MacOS на ПК с виртуальной машиной

Если это не помогло есть другой метод изменения разрешения.

Запуск MacOS на ПК с виртуальной машиной

В самой системе откройте Finder, перейдите в папку «Extra» и на вашем жестком диске откройте файл

Запуск MacOS на ПК с виртуальной машиной

Между <dict> и </dict> в файле вставьте следующую строку:

Запуск MacOS на ПК с виртуальной машиной

<key>Graphics Mode</key> <string>1920x1080x32</string>

Запуск MacOS на ПК с виртуальной машиной

Запускаем командную строку, заходим в каталог программы и выполняем команду:

Запуск MacOS на ПК с виртуальной машиной

cd “C:\Program Files\Oracle\VirtualBox\” vboxmanage setextradata “Имя_Вирутальной_Машины” “CustomVideoMode1” “1920x1080x32”

Запуск MacOS на ПК с виртуальной машиной

Вот таким простым и быстрым способом нам удалось установить MaOS на Windows с виртуальной машиной VirtualBox. Напомню, что вы можете установить практически любую систему с разными версиями. Если вам нужна помощь относительно данной темы, напишите в комментарии и не забудьте поделиться информацией с друзьями.

Это интересно: Установка Windows XP на виртуальную машину VirtualBox

SourceTree

Бесплатный клиент Git для Mac и Windows. Это автономное приложение, которое упростит вам работу с репозиториями Git так, что вы сможете сосредоточиться на написании кода. Что действительно отличает это приложение от других ему подобных, так это простой и понятный графический интерфейс Git GUI для визуализации и управления как удаленными, так и локальными репозиториями. С ним вы можете в один клик создать, клонировать, зафиксировать состояние репозитория, добавить новый элемент, извлечь информацию по запросу или выполнить слияние версий. Работает с репозиториями Git и Mercurial.

Разработка

  • Fabric — модульная система плагинов для iOS-приложений.
  • Docker подойдет для создания бэкенда, баз данных и распределенных систем, если нет желания использовать MongoDB, MySQL и т. п. Отдельно обратите внимание на Docker для Swift.
  • Kitematic и Captain — для работы с Docker-контейнерами.
  • digitalOcean — платформа для облачных вычислений.
  • SwiftLint — инструмент для интеграции стилей и соглашений Swift с рабочим пространством в XCode.
  • WatchDog — автоматически очищает устаревший кэш без необходимости перезагружать ОС или даже XCode.
  • Cakebrew — GUI-приложение для менеджера пакетов Homebrew.
  • Liya — интерфейс для доступа к MySQL, PostgreSQL и SQLite3.
  • Alcatraz — менеджер пакетов для XCode.
  • Jazzy — утилита командной строки, генерирует документацию для Swift/Objective-C.
  • Cocoa Pods — менеджер зависимостей для iOS-приложений.
  • Carthage — простой децентрализованный менеджер зависимостей для Cocoa.
  • Power JSON Editor — для редактирования и просмотра JSON-файлов.
  • Atom в некоторых случаях может быть удобнее, чем XCode — например, при работе с Ruby/Python или Podfiles.
  • Шпаргалка по XCode.
  • Brackets — для работы с или
  • — инструмент для быстрого создания файлов .gitignore.
  • Charles — для мониторинга HTTP-трафика.
  • LocalizationKit — динамическая система для языковой локализации.
  • SwiftGen — инструмент для автоматической генерации Swift-кода.
  • Bohr — фреймворк для настройки экрана настроек.
  • SwiftyJSON и Gloss — библиотеки для парсинга JSON.
  • Kitura — простой и высокопроизводительный веб-фреймворк для создания приложений на Swift.
  • SwiftyBeaver — удобное журналирование в Swift-проектах.
  • Hero и Jelly — библиотеки для создания навигации и анимаций переходов между экранами.
  • Alamofire — Swift-библиотека для конфигурации HTTP.
  • PromiseKit — библиотека для организации асинхронного кода с помощью промисов.
  • Tweaks — простой инструмент для настройки параметров в процессе разработки.
  • Realm — хорошая альтернатива фреймворку Core Data для хранения и управления графом модели.
  • — поможет типизировать код, в котором используются ресурсы типа изображений и шрифтов.

Советы по устранению неполадок:

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

  • Как исправить белый экран – ошибка пустого экрана
  1. Откройте Настройки
  2. Выберите Safari > Очистить данные сайта
  3. Попробуйте установить приложение еще раз, и белый экран исчезнет.
  • TweakBox перестал работать

Это происходит потому, что источник приложения нельзя проверить. Чтобы решить эту проблему:

  1. Удалите TweakBox с вашего устройства ( следуя этим шагам )
  2. Переустановите приложение
  3. Откройте Настройки > Основные > Профили и управление устройствами
  4. Найдите сертификат приложения
  5. Нажмите Проверить или Доверять

Когда вы попробуете приложение еще раз, оно будет работать без каких-либо проблем.

  • Как исправить ошибку “Не удается загрузить” или “Не удается установить”
  1. Полностью удалите приложение TweakBox с устройства ( следуя этим шагам )
  2. Перезагрузите iPhone
  3. Попробуйте скачать TweakBox снова.
  • Исправление ошибки при неудачной установке профиля

Ошибка установки профиля обычно возникает, что серверы Apple перегружены трафиком. Проще всего подождать некоторое время, а затем повторить попытку — если трафик спадет, установка продолжится. Если этого не произошло или вы по-прежнему получаете сообщение об ошибке, выполните следующие действия:

  1. Переведите устройство в режим полета
  2. Откройте Настройки и перейдите в Safari
  3. Нажмите на «Очистить историю и данные сайта»
  4. Далее нажмите «Очистить историю и данные»
  5. Выключите режим полета и оставьте устройство в покое на минуту или две.

Попробуйте установить приложение еще раз, и теперь все должно получиться.

  • Как исправить проблему обновления CMP

Перейдите в Настройки > Safari > Очистить данные сайта, и снова откройте раздел Приложения TweakBox.

Эта ссылка на Mac App Store у меня не работает!

Выше мы говорили, что, по нашему опыту, обычно причина, по которой вышеуказанные ссылки не работают, заключается в том, что вы просматриваете что-то, кроме Safari, или если у вас уже открыт Mac App Store. Однако, если вы по-прежнему обнаруживаете, что ссылка не работает, вы можете попробовать альтернативные методы, указанные ниже.

Другая проблема заключается в том, что ссылка ведет на нужную страницу в Mac App Store, но при попытке его загрузки вы видите сообщение об ошибке «Обновление не найдено». Мы знаем, что это проблема, с которой сталкивались другие, но мы не знаем. В этом случае мы предлагаем вам попробовать загрузить установщик по этой ссылке на более раннем Mac.

Прерывание потока

Рекомендуемый способ выхода поток, чтобы она вышел из своей точки входа нормально. Хотя Cocoa, POSIX, и Multiprocessing Services предлагают процедуры для прерывания потоков напрямую, использование такой процедуры не рекомендуется. Убийство потока не дает потоку уборать после себя мусор. Потенциально может произойти утечка памяти и любых других ресурсов, используемых в настоящее время в потоке, поскольку он не может быть очищен должным образом, создавая потенциальные проблемы в дальнейшем.

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

Пример проверки на выход в течение длительной работы

— (void)threadMainPoint { BOOL moreWorkToDo = YES; BOOL exitNow = NO; NSRunLoop* runLoop = [NSRunLoop currentRunLoop]; // Добавляем exitNow BOOL в словарь потока. NSMutableDictionary* threadDict = [[NSThread currentThread] threadDictionary]; [threadDict setValue:[NSNumber numberWithBool:exitNow] forKey:@»ThreadShouldExitNow»]; // Установка источника входа. [self myInstallCustomInputSource]; while (moreWorkToDo && !exitNow) { // Выполните один кусок большого объема работы здесь. // Измените булево значение moreWorkToDo, когда закончите. // Выполните цикл выполнения [runLoop runUntilDate:[NSDate date]]; // Проверьте, если обработчик источника изменил exitNow значение. exitNow = [[threadDict valueForKey:@»ThreadShouldExitNow»] boolValue]; } }Блок объект Читать более подробно

Блок объекты — синтаксические и выполняемые функций C-уровня, которые позволяют составить функцию выражения, которая может быть переданы в качестве аргумента, при необходимости хранения и использования в многопоточных приложениях. Функция выражения может ссылаться и может сохранить доступ к локальным переменным. В других языках и средах, блок объекта иногда называют закрытием или лямбдой. Вы можете использовать блок, когда вы хотите создать рабочие модули (то есть сегменты кода), которые могут быть переданы как будто они являются значениями. Блоки предлагают более гибкое программирование и больше возможностей. Вы можете использовать их, например, для написания обратных вызовов или для выполнения операции для всех элементов в коллекции.

Объявление блока

Во многих случаях, можно использовать встроенные блоки, поэтому вам не нужно объявлять их. Синтаксиса декларации, однако, похож на стандартный синтаксис указателей на функции, за исключением того, что вы используете вставки (^) вместо звездочки указателя (*). Например, следующий код объявляет переменную aBlock, который ссылается на блок, который требует трех параметров и возвращает значение с плавающей точкой:

float (^aBlock)(const int*, int, float); Создание блока

Вы можете использовать вставки (^) оператора для обозначения начала и точку с запятой, чтобы обозначить конец блока выражения. В следующем примере объявляется простой блок и относит его к ранее объявленной блоком переменной (oneFrom):

int (^oneFrom)(int); oneFrom = ^(int anInt) { return anInt — 1; };

Закрытие точкой с запятой требуется в качестве стандарта C конца линии маркера.

Если вы явно не объявляете возвращаемое значение выражения блока, оно может автоматически выводится из содержимого блока.

Блок-изменяемые переменные

Вы можете использовать __block модификатор хранения c переменными, объявленными локально с вложениями лексической области, чтобы обозначить, что такие переменные должны быть предоставлены по ссылке в блоке и являются изменяемыми. Любые изменения находят свое отражение в окружающей лексической области, в том числе любых других блоков, определенных в той же ограждающей лексической области.

Использование блоков

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

printf(«%d\n», oneFrom(10));

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

В следующем примере определяется, содержит ли объект NSSet слово, указанное в локальной переменной и задает значение другой локальной переменной (found) в YES (и прекращает поиск), если он выполняется. В этом примере, found объявлена ​​как переменная __block.

__block BOOL found = NO; NSSet *aSet = [NSSet setWithObjects: @»Alpha», @»Beta», @»Gamma», @»X», nil]; NSString *string = @»gamma»; [aSet enumerateObjectsUsingBlock:^(id obj, BOOL *stop) { if ([obj localizedCaseInsensitiveCompare:string] == NSOrderedSame) { *stop = YES; found = YES; } }]; // В этой точке, found == YES

В этом примере блок, содержащийся в списке аргументов метода. Блок также использует стек локальных переменных.

Операции сравнения

Одной из наиболее распространенных операций, которые вы выполняете с блоками в среде Cocoa сравнение двух объектов, сортировка содержимого массива. Среда выполнения Objective-C определяет блок типа NSComparator для использования этих сравнений.

Инна Шелепова
Оцените автора
( Пока оценок нет )