Приветствую, коллеги!
Многие из Вас, кто разрабатывает приложения под мобильные платформы на iOS, сталкивались с проблемой недоступности многих ключевых данных.
Одним из таких параметров является текущий режим шифрования в Wi-Fi сети.
Так как этот параметр явно можно получить только «нелегальным» способом через Private Framework, считается что узнать его стандартными методами невозможно.
Это не так. Я хочу продемонстрировать вам walkaround, работающий на iOS 5 (но закрытый, увы, на iOS6).
Читать полностью »
Рубрика «objective-c» - 23
Методика определения режима шифрования Wi-Fi на iOS 5.*
2012-10-05 в 8:11, admin, рубрики: iOS, objective-c, wifi, xcode, разработка под iOS, метки: iOS, objective-c, wifi, xcodeКак я писал Футболоид под iOS
2012-09-19 в 8:00, admin, рубрики: arcanoid, arkanoid, Cocoa, game development, Gamedev, iOS, objective-c, OpenGL, метки: arcanoid, arkanoid, Cocoa, Gamedev, iOS, objective-c, OpenGLПриветствую достопочтеннейших Хабралюдей!
Не так давно, во время поиска новой работы, я получил очень интересное тестовое задание от ZeptoLab: написать за пару рабочих дней арканоид под iOS без использования сторонних библиотек типа Cocos2d/Box2d и т.п., то есть, на «чистом» OpenGL, что показалось мне весьма интересным. Кстати, об этом задании на Хабре уже писали, и даже устраивали разбор полётов. Итак, я бросил вызов судьбе и взялся за геймдев впервые после школьных упражнений с васиком в графическом режиме!
Уточню, что некоторые знания OpenGL у меня уже были, но весьма и весьма поверхностные. Можно сказать, что их не было ну почти совсем, я просто знал, что такое вьюпорт и что бывают какие-то там спрайты, что существуют матрицы преобразования… Так что данная статья могла бы быть озаглавлена "Как написать простую игру под iOS на чистом OpenGL, не зная его", но это слишком уж длинно.
В общем, если Вам интересно, как я это сделал за ~10 часов разработки и ~2 часа чтения, прошу под кат. (осторожно! много кода! мало картинок! ссылка на гитхаб и расслабляющее видео в конце!)
Читать полностью »
Анализ Code Coverage для iOS и OS X проектов (xCode 4.4)
2012-08-29 в 12:17, admin, рубрики: code coverage, mac os x, objective-c, разработка под iOS, метки: code coverage, objective-cПредисловие
Этот топик не ставит своей целью рассказать о code coverage, и о том, нужно это средство или нет. Также, не будет подниматься вопрос о целесообразности тестов в iOS проектах (положим, что они все-таки кому-то нужы, а значит есть).
Мотивация
Очень удобно, когда средства для профилирования/анализа встроены в IDE. История С code coverage в xCode не совсем безоблачная: во времена xCode 3.x и GCC все было просто и нужные ссылки и флаги компилятора гуглились на раз. C приходом xCode 4.1 все стало немного сложнее ввиду использования LLVM-GCC, приходилось идти на некоторые ухищрения (вплоть до сборки LLVM своими руками). А в 4.3 библиотеку libprofile_rt переместили в другую директорию, что тоже вызвало немало проблем.Читать полностью »
Кастомный UITabBar
2012-08-29 в 8:59, admin, рубрики: ios development, objective-c, разработка под iOS, метки: ios development, objective-c В ходе разработки одного приложения столкнулся с проблемой: стандартный iOS-овский tabbar очень плохо поддается кастомизации. Невозможно легким движением руки поставить цветные иконки для табов, ни поменять бэкграунд как самого таб-бара, так и отдельных табов в различных состояниях (активен, не активен).
Тем не менее, задача стояла четко: внедрить имеющийся дизайн, который категорически не состыковывался с накладываемыми ограничениями.
Странности с циклами: в debug работает, в release нет
2012-08-28 в 12:10, admin, рубрики: iOS, objective-c, while, разработка под iOS, метки: iOS, objective-c, whileДень добрый, читатели.
Давно я ничего не писал, но здесь просто вопиющий случай. Я с недавних пор пишу на Objective C, сталкивался со многими и многими непонятными ситуациями, из которых мог искать выход день и два. В итоге все решалось и оказывалось банальным и простым. К тому же «все это уже было в Симпсонах» — после локализации проблемы ее решение находилось на первой странице гугла.
Но здесь! Отладил приложение, собрал в архив для AppStore, решил перепроверить на устройстве — полезли баги.
Что бывает и как с этим бороться — предлагаю обсудить ниже
Читать полностью »
AppCode 1.6: что нового?
2012-08-21 в 12:07, admin, рубрики: appcode, development, IDE, iOS, jetbrains, mac os, objective-c, xcode, Блог компании JetBrains, разработка под iOS, метки: appcode, development, IDE, iOS, jetbrains, mac os, objective-c, xcodeКоманда AppCode рада представить вам новую версию нашей интегрированной среды разработки для Objective-C — AppCode 1.6 .
Теперь AppCode гораздо быстрее работает с большими проектами, полностью совместим с Xcode 4.4 и Xcode 4.5 preview, поддерживает проекты CocoaPods, проектные и файловые шаблоны сторонних разработчиков, а также все новые функции Objective-C.
Читать полностью »
[Перевод – recovery mode ] Core Data в iOS 5: как загрузить и импортировать существующие данные
2012-08-20 в 6:49, admin, рубрики: core data, iphone, objective-c, разработка под iOSЗдравствуй, читатель. Я предлагаю вам перевод статьи, с помощью которой мне стали очевидны основные возможности Core Data.
Примечание:
Член команды обучающей программы iOS Adam Burkepile любезно обновил ряд Core Data в iOS 5. — В этом посту я немного расскажу об этом.
Это руководство было полностью переписано, чтобы показать более изящный способ предварительно загрузить данные, используя только Core Date вашего iPhone.
Читать полностью »
Хочешь быть iOS разработчиком? Будь им!
2012-08-05 в 18:57, admin, рубрики: iOS, objective-c, разработка под iOS, метки: iOS, objective-c, разработка под iOS На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.
Читать полностью »
Меченые указатели, или как уместить объект в одном инте. Практика
2012-08-04 в 19:35, admin, рубрики: Cocoa, iOS, objective-c, высокая производительность, ненормальное программирование, перевод, переводы, указатели, метки: Cocoa, iOS, objective-c, ненормальное программирование, перевод, указателиВ первой части мы познакомились с мечеными указателями и тем, как нам создать целый объект, не выделяя под него отдельной памяти.
NSNumber оказался идеальным кандидатом на то, чтобы применить полученые знания на практике—давайте же попробуем написать нашу собственную реализацию этого класса. За основу мы возьмем MANumber—кастомную реализацию NSNumber, и добавим туда поддержку меченых указателей.
Читать полностью »
Меченые указатели, или как уместить объект в одном инте
2012-08-03 в 20:59, admin, рубрики: Cocoa, iOS, objective-c, высокая производительность, ненормальное программирование, перевод, переводы, указатели, метки: Cocoa, iOS, objective-c, ненормальное программирование, перевод, указателиЕсли вы когда-нибудь писали приложение на Objective-C, вы должны быть знакомы с классом NSNumber — оберткой, превращающей число в объект. Классический пример использования — это создание числового массива, заполненного объектами вида [NSNumber numberWithInt:someIntValue];.
Казалось бы, зачем создавать целый объект, выделять под него память, потом ее чистить, если нам нужен обычный маленький int? В Apple тоже так подумали, и потому NSNumber — это зачастую совсем не объект, и за указателем на него скрывается… пустота.
Если вам интересно, как же так получается, и при чем тут меченые указатели — добро пожаловать под кат!
Читать полностью »