Рубрика «objective-c» - 5

Сегодня делимся опытом наших партнеров — компании Try Sports Now — о том, как с помощью фреймворка SceneKit дать приложению вторую жизнь.
«Случается, что приложение, которое долгое время прозябало в безвестности, вдруг начинает набирать популярность среди пользователей и приносить прибыль. Само собой разумеется, что при таком раскладе целесообразно его развивать и обновлять. Одно плохо: может оказаться, что исходный код продукта настолько морально устарел за время отсутствия спроса, что временные затраты на его обновление сопоставимы с ресурсом, уходящим на разработку нового исходника с нуля. С подобной проблемой мы столкнулись в работе с проектом Human Anatomy 3D. В этой статье мы расскажем, как осуществлялся переход новой версии приложения с Unity3D исходников на нативные, и осветим некоторые проблемы возникшие в процессе.

Опыт переноса приложения с Unity3D на iOS sdk и SceneKit - 1
Читать полностью »

Недавно в бой вышел первый проект, где я получил работу джуниора, и мы с коллегой запилили в нашем сервисе такой вот «калькулятор ожиданий джуна». Из первых 47 ответов мы узнали, что 91% респондентов ждет интересного проекта, а 38% — жаждет реального опыта.

Список ИТ-компаний, которые регулярно проводят стажировки для студентов юга России - 1
Пощупать и оставить свой ответ можно тут

Так и родилась идея помочь нашему джуну: взяли свой родной регион (сами мы ростовские), да и составили список тех, кто регулярно предлагает тут оплачиваемые стажировки с возможностью дальнейшего трудоустройства.
Читать полностью »

Сегодня наши партнеры – разработчики компании Music Paradise – приготовили новый материал для читателей нашего блога. На этот раз ребята подробно расскажут об интеграции Apple Music в собственное приложение. Аналогичный опыт уже был описан на Хабре, однако статья разработчиков Music Paradise призвана не столько познакомить читателей с данным процессом, сколько подробно рассказать о нем и о некоторых важных, но неочевидных моментах при работе с Apple Music.

«С релизом iOS 9.3 яблочная корпорация дала возможность использовать свой сервис Apple Music для воспроизведения музыки. Мы решили опробовать эту возможность в работе над своим приложением Music Paradise Player. Опыт оказался весьма поучительным — в системе обнаружились некоторые подводные камни и слабые места, о которых полезно знать заранее. В этой статье мы постараемся кратко изложить основные моменты работы с Apple Music, а также некоторые особенности этой системы.

Внедрение сервиса Apple Music в iOS-приложение - 1

Читать полностью »

Привет! Недавно мы выпустили AppCode 2017.1, сейчас готовим первое обновление — пора рассказать обо всех изменениях в этой версии.

AppCode 2017.1: улучшенная поддержка Swift, новые возможности кодогенерации и многое другое - 1

Читать полностью »

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

Читаем бинарные файлы iOS-приложений. Часть 2: Swift - 1
Читать полностью »

Разработка WebRTC видеочата между iOS, Android и браузером - 1

В предыдущей статье мы описывали принципы разработки видеочата между браузером и Android — устройством. Теперь же попробуем усложнить задачу и заимплементить трехсторонний видеочат на следующих платформах: Google Chrome на десктопе, Android приложение на планшете, и iOS приложение для Apple iPhone.
Читать полностью »

Сегодня мы предлагаем читателям подробное руководство по созданию простого фоторедактора на iOS. Для опытных разработчиков задача несложная, но новичкам подобный пошаговый разбор всего процесса, возможно, окажется полезен. Мы отдали предпочтение классической среде разработки для выбранной операционной системы – Xcode version 8.2.1. Разработку будем вести, опять же, на классическом объектно-ориентированном языке программирования Objective-C.

Прежде чем приступать к собственно разработке, предлагаем сначала разбить задачу на подзадачи.

  1. Загрузить фотографию из галереи
  2. Создать коллекцию с фильтрами
  3. Реализовать возможность применять любой из фильтров на выбранную нами фотографию
  4. Сохранить результат в галерею.

Читать полностью »

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

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

image

Предлагаю вашему вниманию перевод оригинальной статьи Роберта С. Мартина.

За последние несколько месяцев я попробовал два новых языка. Swift и Kotlin. У этих двух языков есть ряд общих особенностей. Действительно, сходство настолько сильное, что мне стало интересно, не является ли это новой тенденцией в нашей языкомешалке. Если это действительно так, то это тёмный путь.

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

Проблема в том, что оба языка сделали ставку на сильную статическую типизацию. Кажется, оба намерены заткнуть каждую дыру в своём родном языке. В случае со Swift – это странный гибрид C и Smalltalk, который называется Objective-C; поэтому, возможно, упор на типизацию понятен. Что касается Kotlin – его предком является уже довольно строго типизированная Java.

Я не хочу, чтобы вы думали, что я против статически типизированных языков. Я не против. Есть определенные преимущества как для динамических, так и для статических языков; и я с удовольствием пользуюсь обоими видами. Я предпочитаю динамическую типизацию, и поэтому я иногда использую Clojure. С другой стороны, я, вероятно, пишу больше Java, чем Clojure. Поэтому вы можете считать меня би-типичным. Я иду по обеим сторонам улицы — если так можно выразиться.

Дело не в том, что меня беспокоит, что Swift и Kotlin статически типизированы. Скорее меня беспокоит глубина статической типизации.Читать полностью »

На хабре есть много статей о том, как работает рантайм Swift/Objective-C, но для еще более полного понимания того, что происходит под капотом, полезно залезть на самый низкий уровень и посмотреть, как код iOS приложений укладывается в бинарные файлы. Кроме того, безусловно, под капот приходится залезать при решении реверс-инжиниринговых задач. В этой статье мы обсудим самые простые конструкции Objective-C, а о Swift и более сложных примерах поговорим в последующих статьях.

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

Читаем бинарные файлы iOS-приложений - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js