Рубрика «iOS» - 101

Глава 1. Вступление

Благодаря моей истории «Как я создавал мобильный файтинг», я приобрел стойкую зависимость: ежедневно, разомкнув глаза, беру в руки телефон и первым делом открываю заветную иконку хабры.

Все чаще наблюдаю, как некоторые авторы под видом полезного материала стараются пропихнуть свой продукт или поднять денег с читателей. Если я могу изменить сложившуюся тенденцию, то почему бы не попробовать?
Продвижение мобильных игр ДО релиза. Часть 1 - 1
Хочется процитировать: “Когда человек занимается альтруистической деятельностью, отдача приходит в качестве сильнейшей эмоции ощущения смысла”. Меня вдохновляет и заряжает энергией размещение публикаций. Это дает мне сил на достижения другого порядка. Поэтому я стараюсь генерировать контент, который каждому читателю может дать исключительную пользу.
Читать полностью »

Интервальные повторения «в кармане» - 1
Статья о программе (iOS) для запоминания английских слов методом интервальных повторений, которая учитывает ваш распорядок дня.

На хабрахабре уже несколько раз освещался вопрос о методе интервальных повторений для запоминания информации: habrahabr.ru/post/246459/, habrahabr.ru/post/196448/, habrahabr.ru/post/240451/. Если вкратце, то интервальные повторения — это подход к запоминанию информации, заключающийся в повторении изучаемого материала через определенные, постоянно возрастающие интервалы времени (например, через 5 минут, потом через 25 минут, потом через 2 часа и т.д.).Читать полностью »

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

Thread 0 Crashed:
0   libobjc.A.dylib                      0x39abcf42 objc_msgSend + 2
1   CoreFoundation                       0x2bfe0c61 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 10
2   CoreFoundation                       0x2bf3c6d5 _CFXNotificationPost + 1782
3   Foundation                           0x2cc6e129 -[NSNotificationCenter postNotificationName:object:userInfo:] + 70
4   Foundation                           0x2cc72c8f -[NSNotificationCenter postNotificationName:object:] + 28
5   UIKit                                0x2f750883 -[UIApplication _performMemoryWarning] + 132
6   libdispatch.dylib                    0x3a0107a7 _dispatch_client_callout + 20
7   libdispatch.dylib                    0x3a021253 _dispatch_source_latch_and_call + 624
8   libdispatch.dylib                    0x3a0122ed _dispatch_source_invoke + 210
9   libdispatch.dylib                    0x3a013e1f _dispatch_main_queue_callback_4CF + 328
10  CoreFoundation                       0x2bfee3b1 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 6
11  CoreFoundation                       0x2bfecab1 __CFRunLoopRun + 1510
12  CoreFoundation                       0x2bf3a3c1 CFRunLoopRunSpecific + 474
13  CoreFoundation                       0x2bf3a1d3 CFRunLoopRunInMode + 104
14  GraphicsServices                     0x332cf0a9 GSEventRunModal + 134
15  UIKit                                0x2f5487b1 UIApplicationMain + 1438
16  xxx                                  0x0015bb81 main (main.m:18)
17  libdyld.dylib                        0x3a030aaf start + 0

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

Подводим итоги очередной недели историей о кувалдах и микрометрах iOS-разработчика, автомобильной навигацией, «интересным» шифрованием в NQ Vault, тиранией MVP, мобильными интерфейсами и еще кучей разных интересных вещей.

Дайджест интересных материалов для мобильного разработчика #97 (30 марта-4 апреля) - 1Читать полностью »

Добрый день, хаброжители,

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

  1. Облегчаем поддержку iOS приложения. Часть 1 — не отрываясь от Xcode
  2. Облегчаем поддержку iOS приложения. Часть 2 — локация и сеть
  3. Облегчаем поддержку iOS приложения. Часть 3 — падение и логи

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

10-11 апреля в Ульяновске состоится крупнейшая в регионах России IT-конференция «Стачка». Coub ходил на Стачку в прошлом году, не смог пропустить ее и в этом. Мы не только будем на ней присутствовать, но и привезем с собой несколько докладов.

Стачка 2015

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

Добрый день. Я хотел бы рассказать о том, как можно облегчить поддержку iOS приложений.

Всем, кто создавал iOS приложение и оно доходило хотя бы до открытого β-тестирования, скорее всего знакома фраза: «Я тут поигрался с приложением и вот что получилось...». После этой фразы вы могли провести несколько часов, пытаясь понять, как же «это» получилось.

Если вам знакома эта ситуация или хочется узнать о том, как спасти себя от такого в будущем — прошу под кат.
Читать полностью »

Хочу написать про один странный креш, с которым разбирался на работе.

Креш происходил стабильно при заходе в папку с корейскими символами. Проблема оказалась во вроде бы безобидном коде следующего вида:

NSURLComponents* urlComp = [[NSURLComponents new] autorelease];
...
urlComp.path = path;
urlComp.user = username;
...

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

imageТо, чего так долго боялись операторы связи, свершилось: в последней версии популярного мессенджера WhatsApp появилась возможность звонить своим контактам. Версию 2.12.19 можно скачать с APK Mirror или сайта WhatsApp. Ранее эта функциональность была доступна только по приглашениям. Также есть сведения о том, что доступная через Google Play версия 2.12.5 также поддерживает звонки.

В приложении появилась новая закладка «Звонки». В ней находится список исходящих, входящих и пропущенных звонков. Звонить можно как из чата, так и из списка контактов – но только тем, кто уже установил новую версию. Если вы позвоните человеку, которого временно нет в сети, то услышите гудки – а ему потом придёт уведомление.

Операторы связи всерьёз опасаются недополучить прибыль после повсеместного внедрения звонков через WhatsApp. Только у этого приложения по всему миру существует уже более 700 миллионов пользователей – это почти столько же, сколько у крупнейшего в мире оператора China Mobile (800 млн.). Не говоря уже о том, что существуют другие сервисы с подобной функциональностью – тот же Skype.
Читать полностью »

Со времени написания моей заметки: «Выпуск Google Android — провал сотрудничества Google & Apple над платформой iPhone» (ноябрь 2007 года), прошло почти 7,5 лет — рынок смартфонов уже пожалуй окончательно сформировался и теперь можно сделать предварительные выводы.

В своей заметке 2007 года я попытался сделать смелый прогноз, что через 10 лет после начала продаж устройств с ОС Google Android (т.е. к концу 2018 года) рыночные доли операционных систем для смартфонов распределятся следующим образом:
1. Google Android будет занимать ~ 95 % рынка;
2. Apple iOS будет довольствоваться ~ 5 % рынка;
3. Microsoft Windows для смартфонов (Windows Phone) будет стремится к 0 %.

Современный рынок смартфонов:
Сегодня читая статью: «Суммарная доля Android и iOS на рынке смартфонов превышает 96 %» — мы видим, что по итогам 2014 года согласно IDC на мировом рынке смартфонов рыночные доли распределились следующим образом:
1. Google Android занимает 81,5 % рынка смартфонов (за год доля возросла на 2,8 %);
2. Apple iOS занимает 14,8 % рынка смартфонов (за год доля сократилась на 0,3 %);
3. Microsoft Windows Phone занимает 2,7 % рынка смартфонов (за год доля сократилась на 0,6 %).

Причём Microsoft практически выкинула белый флаг планируя добавить в следующую мобильную версию Windows 10 поддержку Android-приложений — см. статью: «В Windows можно будет запускать Android-приложения».
Читать полностью »


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