В этой статье я хочу рассказать о тестировании iOS приложений и небольшой автоматизации этого процесса.
Под катом будут рассмотрены инструменты для модульного и функционального тестирования и приведены простые примеры.
Читать полностью »
Метка «objective-c» - 12
Тестирование iOS-приложений
2012-05-28 в 7:20, admin, рубрики: bdd, cedar, cucumber, guard, iOS, objective-c, rspec, tdd, ui testing, Песочница, разработка под iOS, метки: bdd, cedar, cucumber, guard, iOS, objective-c, rspec, tdd, ui testing, unit-testingПолезные штуки для iOS-разработчика #1
2012-05-19 в 17:41, admin, рубрики: github, iOS, objective-c, библиотеки, компоненты, разработка под iOS, метки: github, iOS, objective-c, библиотеки, компонентыНа Хабре в свое время было несколько статей «Очень много полезных штук для AS3». Автор попытался собрать ссылки на самые полезные и интересные библиотеки. И т.к. в последнее время я разрабатываю под iOS, решил последовать его примеру и сделать то же самое, но для своей платформы. Описания почти прикладывать не буду, все есть на страничках проектов.Читать полностью »
Задача Санта-Клауса и практическая логистика
2012-04-30 в 17:27, admin, рубрики: iOS SDK, objective-c, xcode, Алгоритмы, параллельные вычисления, потоки, Программирование, процессы, разработка под iOS, метки: iOS SDK, objective-c, xcode, параллельные вычисления, потоки, Программирование, процессы
Известно, что только 5% программистов в состоянии решать задачи многопоточного программирования. А в месте с тем, с ростом количество ядер даже у мобильных устройств потребность в использовании нескольких нитей возрастает многократно. С каждым днем появляются как новые языки программирования, специально предназначенные для решения специфических задач параллельного программирования, так и в уже хорошо известных и широко применяемых решениях появляются методы, которые не только облегчают понимание, но и сводят решение задачи к своеобразной поэзии программного кода.
Читая книгу “Идеальный код” под редакцией Энди Орама и Грега Уилсона мне довелось натолкнуться на интереснейшую задачу в главе посвященной параллельной обработке (гл. 24. стр. 444). В ней автор, Саймон Пейтон Джоунс, приводит решение на языке Haskell. Там же он утверждает, что существуют решения задачи Сата Клауса для языков Ada95 и Polyphonic C#. В силу профессиональных интересов несколько ранее мне приходилось обсуждать с коллегами возможности многопоточной Apple реализации для языка Objective-C.
Считается, что программировать нужно на уровне абстракций, а не “на языке”, но с тем же успехом можно искать красоту поэзии в эмоциях, а не в изяществе слога, выраженного посредством языка. Под катом предлагаю вместе со мной спеть песню тем, для кого языковая выразительность не пустой звук, а мелодия, будоражущая воображение.
Читать полностью »
Определеяем какая строка была нажата в UIPickerView
2012-04-25 в 12:27, admin, рубрики: ios development, objective-c, Песочница, разработка под iOS, метки: ios development, objective-cПроблема
Недавно решил преукрасить интерфейс своего приложения элементом UIPickerView, но меня не совсем устроило, то, что мне предложил стандартный набор инструментов, а именно: прокрутить его так чтоб нужный элемент стал под «Selection Indicator» и потом выполнить какое-то действие. Мне нужно было чтоб по нажатию на любую строку посылалось сообщение с нужными параметрами. Поэтому я решил кастомизировать UIPickerView прикрутив к нему UITapGestureRecogniser.
Читать полностью »
Пишем свой Core Image Filter
2012-04-24 в 9:43, admin, рубрики: mac os x, objective-c, анаглиф, обработка изображений, Программирование, метки: mac os x, objective-c, анаглиф, обработка изображений Давно, в 2005 году, мне купили первый телефон с камерой — Siemens M65. После того, как было сделано приличное количество снимков, возникла нужда их упорядочить — была написана небольшая программа на Delphi, которая упорядочивала и позволяла просматривать изображения по дате — путём выбора нужного года, месяца и числа. Шло время, увеличивались мощности телефонов, количество мегапикселей, появилась поддержка видео — и всё это по мере появления было встроено в программу. Позже появилась версия программы и под Mac OS X, которая была написана с использованием фреймворков, доступных в этой ОС для работы с изображениями(Core Image) и видео(AV Foundation). О первом фреймворке и создании для него своего фильтра поговорим более подробно.
Читать полностью »
Лёгкая кастомизация UITableView
2012-04-23 в 6:01, admin, рубрики: Cocoa, ios development, objective-c, UITableView, UITableViewCell, xcode, интерфейс, Песочница, разработка под iOS, метки: Cocoa, ios development, objective-c, UITableView, UITableViewCell, xcode, интерфейсНачиная писать приложения для iOS, невольно берёшь в пример самые крутые из уже созданных: Twitter, iBooks, Find My Friends, The Rules и т.д. Все эти приложения объединяет одно — нестандартный интерфейс. И это не тот нестандартный интерфейс, который получается, например, при портировании приложения с Windows Mobile, а именно красивый интерфейс, соответствующий iOS Human Interface Guidelines.
И вот, когда я начинал свой тернистый путь iOS-разработчика, передо мной встала довольно-таки нетривиальная на тот момент задача: сделать нестандартный UITableView.
Читать полностью »
ARC: заметки с фронта войны за память
2012-03-25 в 8:53, admin, рубрики: ARC, objective-c, память, разработка под iOS, ссылки, метки: ARC, objective-c, память, ссылкиЗдравствуйте, многоуважаемые коллеги.
Возможно, вы не знаете, но каждый день, каждый час, каждую секунду мы ведем войну за память устройств. Для кого-то эта война незаметна, кто-то не придает ей значение, кто-то воюет по-старинке. Однако же, я пишу это письмо вам, пишу для всех моих сослуживцев в войсках UIKit, Objective-C и Cocoa Framework.
Много байт мы потеряли, много еще будет потеряно, но все же фронт мы не сдаем. Мы получаем новое и интересное оружие, одно из которых – это ARC, Каунтер ссылок автоматический. Воистину, с новым оружием нам открылись новые горизонты, и мы было уже начали побеждать, но мы чрезмерно расслабились.
О чем я говорю, спросите вы? О том, что память не сдается! Да, часто, но нет, не всегда мы ее получаем, завоевываем. Читать полностью »
О форматировании кода и User Scripts в Xcode 4
2012-03-21 в 21:13, admin, рубрики: integration, iphone development, objective-c, xcode, разработка под iOS, метки: integration, iphone development, objective-c, xcodeКогда человеку надоедает делать рутинную работу, у него возникает дикое желание от этой работы избавиться. Однако, в реальной жизни избавиться от нее не так просто, и ее все, же надо делать. В зависимости от вида работы и от ее количества, можно поступать по-разному. Можно продолжать выполнять уже заученные действия, можно уйти в себя и копить злость на всех и вся, на этот мир, на начальника, на PM'a, на <вписать свою причину> А можно попытаться эту рутину автоматизировать.
А пост будет о конкретной задаче, которую надо автоматизировать(Code Formatting) и о том, как все-таки расширить Xcode всякими полезными вкусностями для дальнейших автоматизаций. В прошлый раз это был Copy Paste Detector. А теперь пришло время Code-Formattera. Скажу сразу, что в здесь не поднимается вопрос, нужен ли автоматический Code-Formatter. Предполагается, что Вам он нужен. Если, все же не нужен — можно заглянуть под кат, чтобы вспомнить про возможность использовать внешние скрипты в Xcode. Читать полностью »
Пишем клавиатуру для нестандартного ввода под iOS
2012-03-14 в 11:23, admin, рубрики: iOS, iphone, objective-c, разработка под iOS, метки: iOS, iPhone, objective-c Стандартная библиотека предоставляет для UITextField
и UITextView
несколько различных типов клавиатур, среди которых есть обычная, Email, URL (от обычной отличаются несколькими символами) и Phone (цифровая). Для большинства жизненных ситуаций этого достаточно, но не всегда.
Представим, что в приложении есть поле ввода, могущее принимать числа и арифметические выражения.
Phone клавиатуры нам будет недостаточно — нет точки, нет всех символов операций, и т.д.
Безусловно, все необходимое есть на обычной клавиатуре, однако в данном случае 95% ее использоваться не будет (напомним, нам нужны только цифры + символы арифметических операций).
Вывод напрашивается сам собой: нужно писать свою клавиатуру, ну вы знаете с чем!
Разработка под Apple iOS / Шокирующий Objective-C для Java программистов, часть вторая
2012-02-21 в 13:57, admin, рубрики: java, objective-c, за 24 часа, метки: java, objective-c, за 24 часаПродолжаю краткий обзор особенностей Objective-C, удивляющих Java программистов (первая часть). Во второй части немного будет рассказано о философии языка, о поддержке пространств имен и о типе id. Судя по комментариям к первой части, необходимо немного пофилософствовать, поэтому обещанные свойства (property) переносятся в третью часть. Также узнаем какие вопросы задают в американских супермаркетах.
Совершенство это не когда нечего добавить, а когда нечего отнять
Как правильно было отмечено bobermaniac в комментариях кЧитать полностью »