Меню
Бесплатно
Главная  /   Интернет  /  Программирование для Mac OS X Cocoa - делаем калькулятор. Программирование под Mac OS X Не забываем делать бэкапы

Программирование для Mac OS X Cocoa - делаем калькулятор. Программирование под Mac OS X Не забываем делать бэкапы

в этом топике я покажу как написать простенькое приложение для iPhone с использованием официального SDK. Заполучить его просто, нужны:
1. Intel-based Mac(хотя и на PowerPC тоже работает, но после некоторых телодвижений)
2. iPhone SDK. Я буду писать на beta 2. Последнюю версию можно получить, зарегистрировавшись на developer.apple.com. Beta 2 можно найти в торрентах

HelloHabr

чтобы сильно не напрягать моск сделаем самое простое: приложение будет всего-лишь показывать логотип хабра. Открываем XCode(обязательно в 32-битном режиме) и создаем новое Cocoa Touch приложение:

назовем его HelloHabr и сохраним на рабочий стол.

Мастер создания проэктов уже сделал за нас. Посмотрим на содержимое main.m:
#import

Int main(int argc, char *argv)
{
NSAutoreleasePool * pool = [ init];
//поскольку в айфоне нельзя использовать сборку мусора, то для облегчения жизни используем autorelease pool
int retVal = UIApplicationMain(argc, argv, nil, @«HelloHabrAppDelegate»);
//чтобы запустить приложение, нужно вызвать эту функцию. @«HelloHabrAppDelegate» - класс, которому будет передано управление
;
return retVal;
}

Теперь взглянем на HelloHabrAppDelegate.h:
#import

И на HelloHabrAppDelegate.m:
#import «HelloHabrAppDelegate.h»
#import «MyView.h»

@implementation HelloHabrAppDelegate
//эти директивы означают, что при компияции вместо обращений через., вписать getter"ы и setter"ы
synthesize window;
synthesize contentView;

//функция, делегированная от UIApplication
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Создаем главное окно
self.window = [[ initWithFrame:[ bounds]] autorelease];
// создаем contentView
self.contentView = [[ initWithFrame:[ applicationFrame]] autorelease];
//добавляем наш contetntView к главному окну, чтобы оно отобразилось
;
// делаем видимым главное окно
;
}

- (void)dealloc {;
;
;
}

Маленькая мат.часть закончена, приступим к написанию приложения. Сохраняем логотип хабра в папку с приложением. Затем перетяем его из папки в папку Resources нашего проэкта в окне XCode:

Теперь добавим в класс MyView новое поле «habrView» типа «UIImageView *», т.е. MyView.h будет выглядеть так:
#import

А теперь определим в классе MyView процедуры init и dealloc:
#import «MyView.h»

@implementation MyView
- (id) initWithFrame:(CGRect)frame {if(self = ) {
//цвет фона - черный
];
//создаем новое объект с изображением логотипа хабра
UIImage *image = ;
//создаем компонент, который и будет показывать логотип
self->habrView = [ initWithFrame:CGRectMake(0, 0, .width, .height)];
;
];

;
//добавляем компонент отображения логотипа хабра на форму
;
}
return self;
}

- (void) dealloc {;
;
}
end

Все. Компилируем, запускаем и получаем то, что и хотели:

А теперь метод создания приложений для ленивых. Dashcode умеет создавать веб-приложения для iPhone и iPod Touch. Открываем Dashcode и в качестве заготовки выбираем RSS. Переходим на вкладку Page Attributes, задаем Page Title:«Harbrahabr RSS», Feed URL: «feed://habrahabr.ru/rss/main/». Затем переходим на вкладку «Harbrahabr RSS»(откроется дизайнер) и меняем надпись «My RSS Feed» на «Habrahabr RSS Feed»:

Нажимаем Run и получаем RSS-ридер Хабра:

В принципе все. Отзывы, пожелания, предложения жду в комментариях

Upd: немного подправил форматирование, код читается получше, но до идеала далеко

Swift - это надёжный и интуитивно понятный язык программирования от Apple, при помощи которого можно создавать приложения для iOS, Mac, Apple TV и Apple Watch. Он предоставляет разработчикам небывалую свободу творчества. Благодаря этому простому и удобному языку с открытым кодом вам достаточно просто интересной идеи, чтобы создать нечто невероятное.

Разработчики уже пользуются
удивительными возможностями Swift.

Swift - это быстрый и эффективный язык программирования с откликом в реальном времени, который легко можно вставить в готовый код Objective-C. Теперь разработчики могут не только писать более надёжные и безопасные коды, но также экономить время и создавать приложения с расширенными возможностями.

Прекрасное приложение в Swift. Простота использования и отклик в реальном времени - вот почему VSCO выбрали Swift, чтобы создать новую версию своего фотоприложения для iOS.

Превосходные приложения,
разработанные на языке Swift.

Всё больше разработчиков встраивают код Swift в свои приложения. А некоторые даже создают в Swift совершенно новые приложения.

Duolingo Khan
Academy Clear Sky Guide

Procreate Kickstarter Eventbrite Hipmunk

Производительность выше. Приложения лучше.

Приложения Swift превосходят ожидания. Например, обычный алгоритм поиска выполняется в Swift гораздо быстрее.

До 2,6 раза быстрее, чем в Objective-C

До 8,4 раза быстрее, чем в Python 2.7

В графе с использованием алгоритма поиска в глубину найдено 10 000 целых чисел*

Язык Swift добавлен
в учебную программу.

Не только разработчики оценили потенциал языка Swift. Университеты и другие учебные заведения преподают Swift на занятиях по программированию и публикуют бесплатные курсы в iTunes U. А значит, даже новички смогут легко перейти от основ кодирования к программированию на профессиональном уровне.

Университеты, включившие язык Swift в учебную программу

  • Калифорнийский университет в Санта-Круз
  • Колледж Футхилл
  • Мельбурнский королевский технологический университет
  • Мюнхенский технический университет
  • Общественный колледж Лосон
  • Общественный колледж Манхэттена
  • Общественный колледж Месы
  • Общественный колледж Хьюстона
  • Общественный колледж Централ Пьемонт
  • Плимутский университет
  • Политехнический университет штата Калифорния
  • Стэнфордский университет
  • Технический колледж северо-западного Канзаса
  • Технологический институт Монтеррея
  • Университет Аберистуита
  • Университет Фулл Сейл
  • Школа Ingésup
  • Южный методистский университет

Swift повсюду.
И теперь открыт для всех.

Swift бесплатно доступен для использования разработчиками, преподавателями и студентами по лицензии на распространение ПО с открытым исходным кодом Apache 2.0. Мы предоставляем двоичные файлы для OS X и Linux, которые позволяют компилировать код для iOS, OS X, watchOS, tvOS и Linux. А чтобы ускорить развитие и превращение Swift в ещё более мощный язык, мы создали новое сообщество, где пользователи могут напрямую вносить свой вклад в исходный код Swift.

Познакомьтесь со Swift.

Главная книга

Загрузите учебник Язык программирования Swift из Apple Books Store бесплатно. Узнайте, как благодаря Swift процесс программирования становится более удобным, гибким и увлекательным.

Xcode

Xcode - это приложение для Mac, предназначенное для разработки других приложений для Mac и iOS. В Xcode есть все инструменты, необходимые для создания потрясающих приложений. Его можно загрузить бесплатно из Mac App Store.

Веб-сайт для разработчиков

Получите подробную техническую информацию и ознакомьтесь с полным обзором языка Swift. Посмотрите блог для разработчиков, чтобы быть в курсе последних новостей. У вас также есть бесплатный доступ к отличным ресурсам: руководствам, видео и примерам кода.

Я использую MacBook Pro в течение нескольких месяцев дома, и мне было интересно, есть ли хорошая книга или руководство, которое может помочь мне стать лучшим программистом на Mac. Возможно, Mac-эквивалент Начало программирования Linux . Примечание. Я не ищу ресурс о том, как программировать приложение Mac, вместо этого я ищу более общее руководство по использованию Mac для общей среды разработки.

В качестве фона я являюсь программистом Windows днем. На протяжении многих лет я также занимался некоторыми Linux и BSD, особенно в школе, например, программированием сокетов, графикой, типом типа make install . Дома я буду делать Java, Scala, PHP и т.д. На Mac.

До сих пор я использовал Eclipse, QuickSilver и TextMate. VMWare Fusion, XCode и NetBeans настроены, но я их не использую. Переключатель DVI KVM подключается к реальной клавиатуре, трекболу и монитору. Недавно остался до поздней битвы с MacPorts, и понял, что мне нужен x86_64. Самая большая проблема, с которой я столкнулся, - это настроить PHP. Я не знаю, почему они не поставляются с библиотекой MySQL и GD. В конце концов я понял, что это Googling, и построил расширения из источника. У меня такое ощущение, что я не получил записку и не прочитал базового руководства о том, как стать программистом на Mac, например, как работает вся архитектура. Как программист Windows может быть достаточно продуктивным в Mac OS X?

Изменить . Конкретный тип приложения, который я хочу разработать, на мой взгляд не имеет особого значения. Это может быть Java, Scala, PHP, как я упоминал, или Cocoa, С++ или что-то еще.

Я ищу конкретную книгу, ресурс, советы о том, как быть более эффективным программистом на Mac, желательно что-то помимо "установить XYZ".

6 ответов

Кажется, вам нужен обзор того, как Mac OS X работает на системном уровне, больше, чем переосмысление инструментов и т.д. Если это произойдет, я начну с (основного) Руководство по системной архитектуре Mac OS X от Apple, затем перейдите к Начало работы с Mac OS X , которое должно дать вам достаточно обзор для начала работы.

Из вашего вопроса неясно, что вы намереваетесь делать с вашим программированием, но если вы решите продолжить разработку Cocoa/OS X, я рекомендую Cocoa Программирование для Mac OS X от Aaron Hillegass.

Переделав из Windows в Mac OS X около пяти лет назад, я часто нахожу себя в том же духе. Я просто не могу быть продуктивным в Windows (насколько это возможно, я могу быть продуктивным), как я могу на Mac OS X.

Честно говоря, между Mac OS X и Windows существует множество небольших различий. Я нахожу самую большую причину для людей, которые так думают (обычно это касается только геймеров и разработчиков) заключается в том, что они пытаются использовать Mac как машину Windows. Вам нужно научиться признавать, что вам нужно использовать командный ключ, а не ключ управления и т.д.

Похоже, вы используете Mac, потому что вы должны в противоположность тому, что хотите. Это действительно намного лучше, чем Windows, когда вы привыкаете к ней.

Я думаю, что многие программисты на Windows приходят на Mac и не пытаются его правильно изучить, потому что они самодовольны, думая, что они все знают, потому что они "использовали Windows всю свою жизнь". Я думаю, как только вы обнаружите Spotlight, Expose, "Ярлыки для клавиатуры Mac OS X" и т.д. Вы обнаружите, что вы сами являетесь МНОГО более продуктивным, чем когда-либо были на Windows.... и его действительно забавная ОС для использования.

Ознакомьтесь с некоторыми из лучших приложений Mac, которые вы можете получить и. Вы также можете выполнить поиск "100 лучших приложений для Mac".

Кроме того, я заметил, что вы пытались настроить какой-то веб-сервер непосредственно в Mac OS X. Он поставляется с одним, но если вы собираетесь добавить MySQL и некоторые другие расширения, я бы не пошел по пути MacPorts. Получить VMWare Fusion или VirtualBox (с открытым исходным кодом) и запустить сервер в виртуальной машине. Гораздо чище. У меня есть subversion/trac FreeBSD VM , который обрабатывает мой локальный контроль версий.

Я хотел бы добавить, что если вы в настоящее время не используете Xcode, вы должны обязательно изучить его и использовать его как можно скорее. Это гораздо приятнее IDE для использования, чем Visual Studio, и это сделает вашу жизнь намного проще.

Не забывайте, что вы, вероятно, потратили годы на сайтах справки Windows, вы в малой степени должны сделать это с Mac. Всякий раз, когда у вас есть проблема с использованием Mac, задайте вопрос ServerFault . Мы все более чем готовы помочь вам.

У меня такая же ситуация, как у вас. Я использую Windows для разработки и около года назад купил MBP для дома (когда я перешел в офис). Мне очень трудно получить какую-либо реальную работу на моем MBP. Как-то я привык к среде Windows с двумя экранами. Но пусть это не остановит вас. Несколько программ, которые я предлагаю вам получить, следующие:

  • Передача - Хороший клиент ftp
  • MAMP - запускает веб-сервер почти из коробки. Хорошо для базового развития.
  • Quicksilver - помогает быстро найти приложения.
  • Пространства вместе с жестов (Настройте ваши жесты, чтобы переместиться с одного экрана на другой, я использую три пальца, скользкие).
  • Entourage - для электронной почты
  • Терминал - для ssh (альтернатива шпаклевки) (входит в комплект)
  • Dreamweaver/BBedit/Textmate (все довольно прилично, но я люблю editplus на окнах, а не поклонник IDE).

Я предполагаю, что ваш вопрос заключается не в обучении COCOA, а о более эффективном использовании MAC. Ну, приведенные выше инструменты могут вам помочь.

К сожалению, ваш вопрос не очень ясен относительно того, что вы действительно хотите.

Если вы хотите написать что-нибудь кросс-платформенное, может быть очень полезно иметь виртуальную машину для тестирования. Когда в Linux я всегда использовал VirtualBox , он также работает и с OS X.

Принципы работы в OS X несколько отличаются от Microsoft Windows, поэтому пользователи, недавно купившие Mac, на замену компьютеру с редмондской ОС испытывают некоторые трудности. Если в США и Европе знакомство с компьютером люди начинают как с РС, так и с Mac’ов, то в нашей стране и СНГ особой альтернативы нет. С вероятностью 99% первым компьютерным опытом будет Windows. Переучиваться, как известно, намного сложнее, чем учиться заново, но следуя нашим простым советам, можно свести все трудности перехода к минимуму.

Установка и удаление приложений

Вашим первым поисковым запросом в Safari скорей всего будет: «Как устанавливать программы на Mac?». Эта простая операция с которой вы неизбежно столкнетесь, кардинально отличается от таковой в ОС от Microsoft. И что примечательно, установка приложения займет меньше времени, чем вы потратите на поисковой запрос.

Большинство программ, распространяются в dmg-архивах (образах) и устанавливаются всего в пару кликов:

  • открываем скачанный.dmg-файл (он будет виден в Finder как съемный диск);
  • перетаскиваем каталог с приложением в системную папку «Программы»;
  • приложение через пару секунд появится на Launchpad (жест «щипок» для открытия) и сразу будет готово к работе;
  • теперь можно извлечь образ с дистрибутивом в боковой панели Finder и удалить.dmg-файл;

Установить приложение из.dmg-файла можно в любую удобную для вас папку, но тогда иконка программы не появится в Launchpad. Поэтому рекомендую пользоваться папкой «Программы», тем более что она для этого и предназначена.

Некоторые приложения имеют свой установщик и устанавливаются через него. В этом случае вы увидите диалоговое окно с кнопками «Принять», «Далее», «Установить» (привет, Windows!).

Начиная с версии 10.7, в OS X появился магазин приложений Mac App Store, аналогичный App Store на iOS. Работать с ним еще проще, для установки — достаточно нажать кнопку «Установить» на странице с приложением.

По аналогии с установкой, деинсталляция приложения заключается в его удалении из папки «Программы». Перетаскиваем каталог с приложением в «Корзину» — и дело сделано. Если программа имеет свой установщик, то деинсталляция происходит тоже через него.

Взаимодействие с окнами. Закрыть или свернуть?


Пользователи Windows в первое время в шоке: мало того, что кнопки управления окном находятся слева, так они еще и работают иначе. В самом деле, кнопка «х» не закрывает программу, а закрывает только ее окно. Это связано с тем, что в OS X приложения могут иметь несколько окон и после того как мы закрыли окно программа продолжает работать. Кнопка «+» не разворачивает окно на весь экран, а масштабирует его до размеров отображаемого контента.

Для того чтобы полностью завершить приложение, следует нажать «Cmd+Q» или сделать правый клик на иконке в доке, и выбрать «Завершить».

Запущенные программы удобно мониторить по индикатору в доке. Эта функция включается в системных настройках, в разделе «Док».

Также с версии 10.7 приложения OS X могут работать в полноэкранном режим, когда скрываются док и строка меню. Для активации этого режима нужно нажать иконку со стрелками правом верхем углу экрана.

Используем мультитач жесты

Одной из главных особенностей OS X является поддержка мультитач жестов. Их здесь очень много (я насчитал более 10 жестов), и что самое главное, благодаря замечательному трекпаду — работают они просто шикарно.

Открываем системные настройки и переходим в раздел «Трекпад» («Мышь»), включаем нужные жесты и смотрим демонстрацию их работы. Кроме банальных имитации правой кнопки мыши, скроллинга и перетаскивания окон, с помощью жестов мы можем: искать выделенное слово; поворачивать, масштабировать изображения; открывать Launchpad, Mission Control, Центр уведомлений.

Потратив несколько минут на изучение жестов — вы сделаете свою работу в OS X продуктивней и намного приятней.

Полезные функции клавиши «Fn»

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

  • Fn+Ctrl+F2 позволяет осуществлять навигацию по меню без использования мыши;
  • Fn+Backspace заменяет кнопку Delete;
  • Fn+F11 показать рабочий стол;
  • Fn+стрелка вверх заменяет кнопку Page Up;
  • Fn+стрелка вниз заменяет кнопку Page down;
  • Fn+стрелка влево заменяет кнопку Home;
  • Fn+стрелка вправо заменяет кнопку End;

Такие шорткаты очень легко запомнить и я рекомендую использовать их в повседневной работе. Кстати, существует крошечная утилита CheatSheet , которая поможет вам запомнить и использовать все доступные сокращения. После установки она встраивается в систему и при нажатии клавиши «Cmd» выводит полный список сокращений, доступный в открытом приложении.

Добавляем приложения в «Автозагрузку»

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

Открываем «Настройки» — «Пользователи и группы» и на вкладке «Объекты входа» редактируем список используя кнопки «+» и «-«. На престарелых маках имеет смысл убрать лишние элементы, это позволит ускорить загрузку системы.

Детальная информация о вашем Mac

В среде Windows для того чтобы получить полную информацию о «железе» компьютера приходится использовать сторонние утилиты, вроде AIDA 64. Операционная система от Apple, в этом плане выгодно отличается от конкурента. В состав OS X включена утилита «Информация о системе», которая дает нам подробный отчет абсолютно всего оборудования и софтварной части. Здесь мы можем посмотреть частоту процессора, количество слотов и тип памяти, мак-адрес wifi и bluetooth, а также множество другой служебной информации.

«Информацию о системе» можно найти в папке «Утилиты» на «Launchpad» или нажав на пиктограмму «Apple» в строке меню и выбрав пункт «Об этом Mac».

Быстрый просмотр файлов

Моя любимая встроенная функция в OS X это «Просмотр». В Finder на любом файле или папке при нажатии пробела откроется окно быстрого просмотра. Поддерживаются все типы файлов известные системе: изображения, видео, документы. Закрывается окошко просмотра повторным нажатием пробела. Быстро, просто и удобно.

Принудительное завершение приложений

Случается, что программы перестают отвечать на запросы или проще говоря зависают. Например вы открыли большое количество вкладок в Chrome или запустили несколько «тяжелых» приложений. Пользователям Windows хорошо знаком шорткат «Ctrl+Alt+Delete», которым они регулярно пользуются. В OS X чтобы вызвать диалог завершения приложений нужно нажать «Command+ Option+Esc», здесь выбираем подвисшую программу и нажимаем «Завершить».

Пусть в Mac OS такое случается редко, но если это произойдет — вы будете знать, что делать.

Включаем поддержку всех видеоформатов

Встроенный QuickTime поддерживает основные видеоформаты и для нужд большинства пользователей этого хватает с головой. Но если вы обладатель разномастной видеоколлекции — вам прийдется расширить список поддерживаемых форматов. Это можно сделать с помощью пакета кодеков Perian или установив сторонний проигрыватель медиафайлов, например VLC . Оба решения бесплатные.

Не забываем делать бэкапы

Последний совет, банальный и избитый, которым тем не менее постоянно пренебрегают. Чтобы ваши данные всегда были в полной сохранности используйте резервное копирование, и регулярно делайте бэкапы с помощью Time Machine . Это также позволит не боясь экспериментировать с системой, что на первых порах будет неизбежно.