Метка «objective-c» - 10

Привет, друзья!

Если вы создаете приложения для гаджетов от Apple, то наверняка в курсе, что недавно произошло обновление iOS до версии 6.
Наравне с другими новыми функциями Apple внесла изменения в механизм autorotation.
На всякий случай напомню, что autorotation — это механизм, позволяющий использовать устройство как в портретной (вытянутой в высоту), так в альбомной (растянутой в ширину) ориентации, а также изменять эту ориентацию при повороте устройства.
image
Если в вашем приложении контент отображается в обеих ориентациях (а особенно если на некоторых экранах вам нужно запретить поворот) — готов поспорить, что у вас уже возникли некоторые вопросы.
Если же вы не используете функцию изменения ориентации экрана — разницы могли и не заметить. Однако знание того, как в iOS6 работает autorotation, в любом случае будет полезно и пригодится в будущем.
Читать полностью »

В качестве вступления

Итак, я не буду рассказывать про то, что такое социальные сети и как они используются в игровых (да и неигровых) приложениях. Скажу просто, что однажды поставили передо мной задачу научить нашу игру публиковать всякие разные вещи в Facebook и Twiter.
Игра у нас создается с использованием движка Unity3d. Никаких встроенных возможностей по работе с социальными сетями в нем не предусмотрено. Зато есть возможность писать плагины на c/c++/objective c/… Т.е. на нативном языке платформы. Этим и предстояло мне заняться. Приложение мы разрабатываем под ipad, соответственно платформа iOS и язык Objective-C.
Ниже я расскажу, что и как у меня получилось, поделюсь кодом и задам пару вопросов уважаемому хабрасообществу.
Сразу уточню, что плагин еще не отлажен до конца! Но чем поделиться все равно найдется.
Читать полностью »

                                Если у тебя есть яблоко и у меня есть яблоко, и мы обменяемся
                                 этими яблоками, то у каждого из нас будет по одному яблоку.
                                  Но если у тебя есть идея и у меня есть идея, и мы обменяемся
                                              этими идеями, то у каждого из нас будет по две идеи!
                                                                                               ~ Джордж Бернард Шоу

Сегодня мы заглянем за кулисы и расскажем вам о том, как создавался логотип для AppCode — одной из новейших сред разработки от JetBrains.

Мы выпустили AppCode примерно полтора года назад как среду разработки для Objective-C, и сейчас у продукта вполне узнаваемый пользователями логотип. Не все знают, что до выхода в свет у AppCode было другое кодовое название: CIDR. У нас уже был язык — C и среда разработки — IDE, не хватало только R на конце, чтобы получить CIDER, т.е. «сидр». Как нам показалось, очень удачная ассоциация, ведь сидр делается из яблок, а на Objective-С пишут приложения для устройств Apple.
Читать полностью »

Приветствую, коллеги!
Многие из Вас, кто разрабатывает приложения под мобильные платформы на iOS, сталкивались с проблемой недоступности многих ключевых данных.
Одним из таких параметров является текущий режим шифрования в Wi-Fi сети.
Так как этот параметр явно можно получить только «нелегальным» способом через Private Framework, считается что узнать его стандартными методами невозможно.
Это не так. Я хочу продемонстрировать вам walkaround, работающий на iOS 5 (но закрытый, увы, на iOS6).
Читать полностью »

Приветствую достопочтеннейших Хабралюдей!

Как я писал Футболоид под iOS
Не так давно, во время поиска новой работы, я получил очень интересное тестовое задание от ZeptoLab: написать за пару рабочих дней арканоид под iOS без использования сторонних библиотек типа Cocos2d/Box2d и т.п., то есть, на «чистом» OpenGL, что показалось мне весьма интересным. Кстати, об этом задании на Хабре уже писали, и даже устраивали разбор полётов. Итак, я бросил вызов судьбе и взялся за геймдев впервые после школьных упражнений с васиком в графическом режиме!

Уточню, что некоторые знания OpenGL у меня уже были, но весьма и весьма поверхностные. Можно сказать, что их не было ну почти совсем, я просто знал, что такое вьюпорт и что бывают какие-то там спрайты, что существуют матрицы преобразования… Так что данная статья могла бы быть озаглавлена "Как написать простую игру под iOS на чистом OpenGL, не зная его", но это слишком уж длинно.

В общем, если Вам интересно, как я это сделал за ~10 часов разработки и ~2 часа чтения, прошу под кат. (осторожно! много кода! мало картинок! ссылка на гитхаб и расслабляющее видео в конце!)
Читать полностью »

Предисловие

Этот топик не ставит своей целью рассказать о code coverage, и о том, нужно это средство или нет. Также, не будет подниматься вопрос о целесообразности тестов в iOS проектах (положим, что они все-таки кому-то нужы, а значит есть).

Мотивация

Очень удобно, когда средства для профилирования/анализа встроены в IDE. История С code coverage в xCode не совсем безоблачная: во времена xCode 3.x и GCC все было просто и нужные ссылки и флаги компилятора гуглились на раз. C приходом xCode 4.1 все стало немного сложнее ввиду использования LLVM-GCC, приходилось идти на некоторые ухищрения (вплоть до сборки LLVM своими руками). А в 4.3 библиотеку libprofile_rt переместили в другую директорию, что тоже вызвало немало проблем.Читать полностью »

В ходе разработки одного приложения столкнулся с проблемой: стандартный iOS-овский tabbar очень плохо поддается кастомизации. Невозможно легким движением руки поставить цветные иконки для табов, ни поменять бэкграунд как самого таб-бара, так и отдельных табов в различных состояниях (активен, не активен).
Тем не менее, задача стояла четко: внедрить имеющийся дизайн, который категорически не состыковывался с накладываемыми ограничениями.

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

День добрый, читатели.

Давно я ничего не писал, но здесь просто вопиющий случай. Я с недавних пор пишу на Objective C, сталкивался со многими и многими непонятными ситуациями, из которых мог искать выход день и два. В итоге все решалось и оказывалось банальным и простым. К тому же «все это уже было в Симпсонах» — после локализации проблемы ее решение находилось на первой странице гугла.

Но здесь! Отладил приложение, собрал в архив для AppStore, решил перепроверить на устройстве — полезли баги.

Что бывает и как с этим бороться — предлагаю обсудить ниже
Читать полностью »

AppCode 1.6: что нового?Команда AppCode рада представить вам новую версию нашей интегрированной среды разработки для Objective-C — AppCode 1.6 .

Теперь AppCode гораздо быстрее работает с большими проектами, полностью совместим с Xcode 4.4 и Xcode 4.5 preview, поддерживает проекты CocoaPods, проектные и файловые шаблоны сторонних разработчиков, а также все новые функции Objective-C.
Читать полностью »

На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.
Хочешь быть iOS разработчиком? Будь им!
Читать полностью »


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