Готовы прототипировать внутри Sketch? Тогда знакомьтесь — Silver! (Перевод)

Перед вами перевод оригинальной статьи Marc Andrew с Medium.

Будущее Sketch прибывает к первому пути!

Абу Нимбалкар и Андрей Шахмин, создатели Silver, были так любезны, что пригласили меня к участию в закрытом бета-тестировании приложения, и я не разочаровался. О, нет. После пары минут приложение размазало по моему лицу улыбку Чеширского Кота. И на вопрос «Ну, есть там что-то хорошее?» это будет самым точным описанием моего ответа. Чёрт подери, есть!

Даже на текущей стадии всё говорит о том, что Silver должен был быть частью Sketch с самого начала. Эта мысль поразила меня в первый момент моего общения с программой: так по-родному всё ощущалось. Приложение буквально струит ДНК Sketch по своим венам при прототипировании.

Читать далее Готовы прототипировать внутри Sketch? Тогда знакомьтесь — Silver! (Перевод)

Ошибка “Missing iOS Distribution signing identity for …”

Если вы столкнулись в проблемой из заголовка при сборке Ad Hoc или релизной сборки проекта в Xcode, а точнее при попытке собрать ipa, провалидировать архив или отправить его в App Store, то есть простое решение. Сама проблема кроется в том, что Apple всё сделала не так и сертификат Apple Worldwide Developer Relations вышел в тираж, у него кончился срок действия. Спасибо, Apple!

Вам необходимо скачать новый сертификат. В приложении Keychain удалить из двух связок ключей Вход (Login) и Система (System) удалить старые сертификаты. После установить новый и ваши собственные сертификаты станут снова валидными.

Сервис Answers — Twitter выпустил аналитику для Apple TV

Сегодня мне на почту пришёл анонс  от Twitter с объявлением о старте нового сервиса аналитики Answers. Я пользуюсь их решением Fabric уже довольно давно — могу рекомендовать, оно в полной мере удобно, и лично для меня там наглядно показаны отчеты об ошибках (Crashlytics) и статистика по пользователям. В отличии от Flurry сайт у Fabric работает быстрее и даже есть данные в реальном времени (знаю, что есть в Google Analytics тоже, да и Flurry недавно добавили).

Вернёмся к Answers.

Это сервис аналитики реального времени, в котором отслеживаются важные для бизнеса показатели: DAU, MAU, возврат, длительность сессии, критические ошибки и прочее. Твиттер заявляет сервис, как аналитику, которую не надо анализировать. Действительно, аналитика поведения пользователей – это довольно серьезная наука, и над данными, полученными от систем обычно приходится еще покорпеть, модифицировать их, сопоставить и тому подобное, прежде чем получить желаемые сведения.

Читать далее Сервис Answers — Twitter выпустил аналитику для Apple TV

Небольшое предупреждение об Apple TV

Если вы собрались купить приставку, чтобы начать писать под неё игры и приложения, то будьте готовы вместе с приставкой купить и провод для USB Type C. В комплекте идёт только USB — Lightning для зарядки пульта управления. В продаже у Apple есть только переходник USB C — USB A (female), то есть с ним нельзя подключить приставку обычным USB A проводом, так как нужен провод типа male-male. Таким образом минимум 2000-2500 рублей надо потратить еще и на провод! Есть разные фирменные провода, например, от Belkin (дорого — 2200 рублей) или Xiaomi (600 рублей, но еще плюс доставка). Можно поискать дешевые китайские провода и переходники, и они даже есть в большом количество по умопомрачительно низким ценам, но USB Type C обладает одной особенностью, которая пока не позволяет мне решиться заказать их — это способность пропускать высокие токи. Есть уже некоторое количество сообщений на тематических сайтах, в которых говорится о том, как такие аксессуары испортили довольно дорогую технику. Честно говоря, совсем не хочется экспериментировать с совсем новой приставкой. Даже несмотря на то, что в моем маке USB 2.0 и он не способен дать больше 2 Амперов…

Но в то же время без подключения проводом приставку невозможно начать использовать для разработки приложений: элементарно нельзя получить её UDID, чтобы добавить в свой аккаунт, чтобы сделать соответствующий провижн профайл. И еще нюанс — закинуть ipa на приставку по воздуху тоже нельзя, так как нет никакого браузера. Единственная возможность запустить своё приложение на Apple TV – это публичное бета-тестирование через TestFlight, но не всегда приложение находится на стадии предрелиза.

Если у вас есть ссылка на магазин с недорогими проводами или вы знаете какой-либо способ обойтись без провода (что вряд ли)  – пишите в комментариях!

А по поводу приставки — супер вещь!

Обуздать IB Designables и Xcode

Если у вас стали сыпаться ошибки или предупреждения о том, что в Interface Builder есть проблемы с элементами, которые должны отрисовываться через Live Rendering, например:

или что-то про невозможность назначить по указанному key-path какое-либо значение, то можно воспользоваться этим решением:

  1. Удалить derived data вашего проекта, они находятся в подпапке по пути ~/Library/Developer/Xcode/DerivedData
  2. Очистить текущий билд командой Product > Clean (⌘⇧K)
  3. Собрать проект снова (⌘B)
  4. В сторибоарде или xib перейти в меню Editor и нажать Refresh All Views

После этого ошибки и предупреждения должны уйти.

Советы

Подумал, почему бы не завести рубрику «Советы» или «Опыт». Взял и завёл.
Совет №1:

Не берите на мобильный проект дизайнера из веба. Пусть в своём вебе чалится до скончания времён. Ну, а если взяли, купите ему нормальный телефон, для которого он должен рисовать, и приставьте к нему своего опытного мобильного разработчика. Все, абсолютно все макеты пропускайте через проверку у этого программиста. Если же у вас нет денег на такие вещи — не делайте приложение вообще. Займитесь тем, на что денег хватает.

Ошибка ITMS-90362

Если вы используете CocoaPods в своём проекте с поддержкой iOS 7.x и при отправке в App Store вы столкнулись с ошибкой ITMS-90362, то, скорее всего, в вашем Podfile прописано:

use_frameworks!

что означает использование фреймворков вместо привычных статичных библиотек. Эта опция дает преимущества на iOS 8+, но не поддерживается в iOS 7. Поэтому её придётся выключить. Для этого просто закомментируйте строку. Если после этого возникнут проблемы со сборкой приложения, то можно проверить Build Settings вашего Target на наличие флага -frameworks, если он имеется — удалить его. Так же можно переустановить pods в вашем workspace консольной командой pod install, предварительно удалив в настройках проекта Project>Info>Configurations конфигурационные файлы CocoaPods — заменив Pods.debug/Pods.release/… на None.

Данное решение основано на диалоге в комментариях на GitHub.

Новые правила сетевых подключений в iOS 9 (ATS — App Transport Security)

Правильная конфигурация в Info.plist вашего приложения должна быть такой, если ваш сервер не работает через https:

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

PS в официальной документации Apple какая-то ошибка с наименованием ключей для параметров. Использовать нужно ключи, начинающиеся на NSTemporary.

Как решить проблему пустого списка Универсального доступа в настройках OS X

Недавно обновил пару программ, которые требуют особых привилегий по доступу к системе. Эти привелегии настраиваются в разделе Защита и Безопасность в Системных настройках, в подразделе Универсальный доступ:

Универсальный доступ OS X
Универсальный доступ OS X

И когда приложение попросило одобрить его в данном списке, список оказался пуст, а добавить через кнопки +|- программу в список не получалось: список оставался пустым.

Поиск по разным файлам настроек системы ничего не дал. Легкий гуглёж — тоже. При этом все программы просто перестали работать, как надо, то есть, подумал я, права на настройки или сами настройки слетели…

Читать далее Как решить проблему пустого списка Универсального доступа в настройках OS X

Xcode 6.4 и Alcatraz

Вчера вышел в релиз новый Xcode версии 6.4
Как обычно возникли проблемы с плагинами. В этот раз просто исчез из меню и потому перестал работать менеджер плагинов Alcatraz.
Решение уже есть на github в issue проекта — https://github.com/supermarin/Alcatraz/issues/307

Чтобы вернуть работоспособность плагинам и самому Alcatraz, завершите Xcode и выполните в консоли команду:

Запустите Xcode, одобрите работу сторонних bundle (собственно, плагинов)  в появившемся диалоге и всё!