Ios 11 что это: ОС iOS 11 совместима со следующими устройствами.
Семь полезных функций iOS 11 — Ведомости
От управления одним пальцем до простого выключения
Теперь пользователь может уменьшить виртуальную клавиатуру до 3/4 от нормального размера и сместить вправо или влево в зависимости от этого / М. Товкайло / Ведомости
Во вторник вечером Apple выпустила новую версию операционной системы iOS для мобильных устройств. В ней есть семь полезных и неочевидных функций.
Управление одним пальцем
Теперь пользователь может уменьшить виртуальную клавиатуру до 3/4 от нормального размера и сместить вправо или влево в зависимости от этого. Это позволит печатать текст с помощью только большого пальца руки, что актуально для моделей с большим экраном.
В новой версии с ассистентом Siri пользователи смогут общаться не только голосом, но и с помощью клавиатуры. Это полезно, если поблизости кто-то есть, а пользователю хочется сохранить конфиденциальность. Включить эту функцию можно в настройках.
Редактирование скриншотов
Теперь вы можете редактировать скриншоты в реальном времени, сразу после того, как вы их сделали. Миниатюра скриншота появляется на экране сразу после создания снимка: вы можете рисовать на ней маркером или карандашом.
Сканирование документов
В iOS появился инструмент для сканирования документов. Даже если документ сфотографирован под углом, решение выравнивает его перспективу и другие искажения.
Запись событий на экране
Пользователь может записать видео того, что происходит на экране. Ранее устройства Apple для этого приходилось подключать к компьютеру. Добавить эту функцию можно вручную в центре управления настройками.
Сканирование QR-кодов
В камеру теперь встроена функция по распознаванию QR-кода. После сканирования кода система перенаправляет пользователя на привязанную к нему страницу в Safari.
Простое выключение
Если кнопка Power button сломана, пользователь может выключить и перезапустить устройство, зайдя в настройки. Там отображается параметр «Завершение работы».
Новые сведения об iOS 11
Пользователь Reddit cyanhat сообщил кое-какие детали, касающиеся iOS 11. Примечательно, что некоторые из них уже были известны из предыдущих сообщений.
Вот что он написал:
В iOS 11 (бета-версия которой выйдет в июне) станут доступны следующие возможности:
Видеоконференции в FaceTime до 5 участников.
Клиент-клиентская версия Apple Pay. Apple полностью переработает приложение Wallet, переименовав его в Pay, и добавит социальные функции. Кроме того, Apple Pay будет интегрирован с iMessage при помощи расширения, позволяя владельцу отправлять таким образом чеки.
FaceTime Audio будет стандартным способом звонков на другие iPhone. Это значит, что при вызове другого владельца iPhone будет автоматически использоваться FaceTime Audio, чтобы обеспечить наилучшее качество связи. Для звонков на другие телефоны, не использующие iOS, останется старый режим звонков через мобильную сеть, качество которых намного хуже.
Умный, автоматический режим энергосбережения. Он будет обучаться на основе ваших действий при низком заряде батареи и адаптироваться под ваше поведение. Он также будет учитывать местонахождение смартфона и другие обстоятельства. Например, режим будет автоматически активирован, если вы отключитесь от своей домашней Wi-fi сети и имеете меньше 20% зарядки.
Хотя мы не можем подтвердить достоверность этой информации, некоторые из упомянутых особенностей уже фигурировали в различных слухах о будущем обновлении iOS.
Ещё в январе неофициальные источники сообщали, что в iOS 11 появится поддержка групповых звонков в FaceTime, хотя они не упоминали об ограничении в пять человек. Это нововведение станет приятным дополнением к одной из самых недооценённых возможностей iOS.
Re/code на прошлой неделе также сообщили, что Apple обсуждает со своими партнёрами возможность разработки собственной P2P-системы платежей, которая, вероятно, получит название Apple Cash.
Выбор FaceTime Audio в качестве метода вызовов по умолчанию будет довольно смелым шагом из-за серьёзных расходов трафика.
Было бы очень интересно посмотреть на режим пониженного энергопотребления. Он был бы чрезвычайно полезен: iPhone 7 Plus автора этой статьи полностью разряжается каждый день. Если iOS научится автоматически справляться с этим при помощи ИИ, это будет весьма удобно.
Ожидается, что Apple продемонстрирует новейшую версию iOS для iPhone, iPad и iPod touch 5-го июля на WWDC 2017. Также предполагается, что Siri в iOS 11 получит поддержку интеграции с iCloud и контекстного обучения. Кроме того, есть сведения о специализированных обновлениях для iPad; это было бы очень кстати.
Помимо этих слухов, iOS 11 может иметь существенно переработанный дизайн и возможность включения тёмного режима, которая тестируется со времён iOS 10.
Оцените пост
[всего: 0 рейтинг: 0]
Смотрите похожее
iOSРазработка дизайна для нового iPhone X и IOS 11
iPhone X (iPhone 10) уже официально представлен и будет доступен с 3 ноября. Он с потрясающим Super Retina дисплеем от края до края с разрешением 1125×2436px. Он также имеет вырез в верхней части экрана, где вы можете найти футуристическую функцию разблокировки телефона путем сканирования лица.
Разработка дизайнов для этого красивого смартфона бросает новые вызовы, но и открывает новые возможности в дизайне. Ширина устройства в портретном режиме такая же, как у iPhone 6, 7 и 8, но смартфон на 145pt выше, что дает на ± 20% больше вертикального пространства. При проектировании в @1x вам нужен артборд размером 375×812px. Вы не будете экспортировать изображения в @2x, как iPhone 8. Из-за нового Retina дисплея для нового iPhone X необходимо экспортировать в @3x размере, как iPhone 7-8 Plus.
При создании дизайна вы должны убедиться, что не перекрываете интерфейс своего приложения новыми уникальными свойствами устройства (круглые края, вырез вверху и индикатор кнопки «Домой»). Кстати, этот индикатор – это небольшая линия, находящаяся в нижней части экрана, она заменяет физическую кнопку «Домой». Чтобы перейти на главный экран из любого приложения, просто смахните от нижнего края дисплея вверх.
Видите эту белую линию? Это новый индикатор «Домой».Если в настоящее время у вас есть приложение, которое использует нативные компоненты iOS, все будет в порядке, и ваше приложение уже будет адаптировано для нового iPhone. Это могут быть панели навигации, таблицы, коллекции и панели вкладок. Они будут автоматически вставлены и расположены.
Если вы используете собственный дизайн, возможно, потребуется обновить ваше приложение для нового экрана. Однако, если вы используете Auto Layout, не должно возникнуть трудностей
Давайте начнемВо-первых, используйте по максимуму дизайн смартфона. Ведь сотрудники Apple усердно работали не для того, чтобы вы скрыли прекрасные возможности этого дорогостоящего устройства.
Убедитесь, что вы создаете полноэкранное приложение. Позвольте прокручивать контент приложения до самого низа экрана даже за закругленные края дисплея. Apple также любезно просит вас не скрывать вырез наверху и изогнутые края внизу, поэтому не стоит создавать черные полосы, чтобы они выглядели как обычный старый стиль iPhone 8.
Центрирование и вставка важной информации. Убедитесь, что важный контент выровнен по центру и использует симметричные вставки, ваш интерфейс не должен обрезается датчиками или углами устройства. Если вы используете Auto Layout, контент вашего приложения будет автоматически помещен в безопасную зону, ваш дизайн не будет скрыт за углами, датчиками или индикатором «Домой».Новая строка состояния. Из-за датчиков сверху дисплея новая строка состояния разделена на две части. Если ваш интерфейс делает что-то особенное со строкой состояния (ранее она занимала 20pt, теперь 44pt), вам нужно будет обновить свой интерфейс, потому что строка состояния будет выше на iPhone X. Убедитесь, что строка состояния может быть динамически изменяема по высоте. Самое замечательное в том, что высота не изменится, если пользователь делает телефонный звонок или использует навигационное приложение, которое ранее было на других iPhone.
Показать новую строку состояния в выгодном свете. Если вы в настоящее время скрываете строку состояния в своем дизайне, Apple просит вас пересмотреть это решение. Так как экран выше и у вас больше пространства, чтобы отображать контент, оно может быть использовано для отображения строки состояния. Пользователи могут найти там полезную информацию, и это пространство в большинстве случаев не будет использоваться другими элементами интерфейса.
Изображения на весь экран. Если вы используете изображения на весь экран в своем дизайне, вам нужно будет обновить их для нового iPhone. Они могут быть обрезаны, и ценная часть изображения может быть скрыта.
Не размещайте интерактивные элементы управления в нижней части экрана. Пространство вокруг индикатора «Домой» создается только для жестов возврата на главный экран. Размещение кнопок рядом с этим индикатором или в нижних закругленных углах дисплея может быть не очень хорошей идеей.
Пользователи могут случайно использовать жест возврата на главный экран, и ваш интерфейс будет труднодоступным. Тем не менее, вы можете продолжить использовать панели вкладок и функциональные панели, но имейте в виду, что они не должны мешать индикатору «Домой».Не скрывайте индикатор «Домой» (все время). iOS позволяет скрыть индикатор «Домой» в вашем приложении. Он будет автоматически скрыт, когда пользователь не будет касаться экрана в течение нескольких секунд. Он опять появится, когда пользователь снова коснется экрана. Это должно быть в основном использовано для эффекта погружения, например, при просмотре видео или фотографий. Индикатор «Домой» также автоматически изменит цвет на основе фона вашего приложения.
Больше цветов.
Будьте внимательны используя жесты. Поскольку физическая кнопка «Домой» исчезла, вы взаимодействуете с вашим iPhone (больше чем когда-либо), используя жесты. Когда вы смахиваете вверх, вы попадаете на главный экран или переходите к панели многозадачности. Когда вы смахиваете вправо или влево по индикатору «Домой», вы переключаетесь между открытыми приложениями. Смахивая от верхнего края дисплея вниз, вы перейдете к уведомлениям или в Пункт управления. Более того, в играх вы можете использовать собственные жесты, которые могут доминировать над нативными жестами iOS 11. Вы можете использовать свои собственные жесты, реализуя «защиту края», которая является функцией предпочтения конкретного жеста приложения перед жестом операционной системы, только один раз. Используйте это с толком, потому что это затруднит пользователям использование функций системы.
Face ID. Предыдущая модель iPhone имеет отличную функцию Touch ID, которая позволяет пользователям разблокировать свое устройство или выполнять защищенные паролем действия внутри приложений, используя свой отпечаток пальца. Этот датчик был скрыт внутри кнопки «Домой», но поскольку ее нет в iPhone X, Apple заменила его более совершенным и безопасным способом разблокировки вашего устройства. Face ID использует, действительно, великолепные алгоритмы для распознания вашего лица и разблокировки вашего устройства. Это сделает возможным создание новых интерфейсов в ваших приложениях. Убедитесь, что вы его реализуете для своих (богатых) пользователей, у которых есть iPhone X. Также убедитесь, что вы больше не ссылаетесь на Touch ID в обучении или в меню приложения, замените его на Face ID.
Собственные клавиатуры. Когда вы разрабатываете собственную клавиатуру, вы не должны добавлять на нее кнопки Emoji или диктовки. Потому что они будут автоматически добавлены под клавиатуру возле индикатора «Домой».
Большие навигационные панели. С iOS 11 дизайн нативных навигационных панелей получил обновление, теперь они намного выше. Этот дизайн особенно хорош на более высоком iPhone X и прекрасно сочетается с новой панелью состояния. Поэтому подумайте о его использовании в своем дизайне. При прокрутке они также будут иметь родные анимации.
Если не осилили статью- iPhone X на 145pt выше, так что создавайте дизайн для 375×812pt вместо 375x667pt
- iPhone X использует@ 3x активы.
- Создавайте полноэкранные приложения, не скрывайте уникальные функции устройств.
- Центрируйте важный контент вашего интерфейса, чтобы быть уверенным, что он всегда будет виден и не будет скрыт датчиками или углами устройства.
- Новая более высокая, разделенная надвое строка состояния, предыдущая была 22pt, теперь 44pt в высоту.
- Изображения на весь экран могут / должны быть обновлены, чтобы они полностью отображались на дисплее.
- Не добавляйте кнопки в нижней части экрана рядом с индикатором «Домой».
- Не скрывайте индикатор «Домой», только если это, действительно, необходимо.
- Более яркие и насыщенные цвета благодаря цветовому спектру P3.
- Помните, что не следует использовать собственные жесты рядом с индикатором «Домой» и строкой состояния, чтобы у пользователя не возникло путаницы с нативными жестами системы.
- Face ID заменяет Touch ID, обновите свой интерфейс и замените текстовые упоминания Touch ID.
- Не нужно добавлять кнопки Emoji и диктовки на собственные клавиатуры.
- Большие навигационные панели будут отлично выглядеть и оживлять этот высокий дисплей.
Вы можете использовать симулятор Xcode 9 для предварительного просмотра своего приложения. Вы сразу увидите, нужно ли обновлять ваш пользовательский интерфейс.
Где я могу найти ресурсы iOS 11 и iPhone X?Вам повезло, у Apple есть отличные новые ресурсы для Sketch, Photoshop и Adobe XD. Вы можете найти их здесь: Apple Design Resources.
Примечание: Большая часть этой информации взята из Apple UI Guidelines.
Полный разбор дизайна iOS 11: Apple все еще внимательны к деталям?
сам включается, не выключается, не подключается и другие проблемы
После установки iOS 11 на iPhone и iPad, у многих пользователей начали появляться разные проблемы с подключением к Wi-Fi сетям. Впрочем, когда iPhone не подключается к Wi-Fi, или не работает интернет после подключения – это не новость, и вряд ли здесь виновата iOS 11. Хотя, всплеск этих проблем появляется именно после установки очередного обновления.
Но самый популярный вопрос связанный с Wi-Fi в iOS 11, это почему не выключается Wi-Fi после отключения в пункте управления. Почему он сам включается и как полностью отключить Wi-Fi сеть на iPhone, или iPad. Это не то чтобы проблема, просто так реализована функция. Хотя, для меня большая загадка, почему они сделали такое решение. Подробнее об этом расскажу ниже в статье.
Ну и наверное единственное (заметное) изменение в iOS 11 связанное с Wi-Fi, это функция, которая позволяет подключатся к беспроводной сети без ввода пароля. Достаточно поднести свой телефон, или планшет от Apple к другому iOS устройству, в котором уже сохранен пароль от данной сети, и в контактах которого есть ваши данные. Но об этой фишке я постараюсь рассказать в другой статье. Пользоваться ею вряд ли кто-то будет, но решение интересное.
У меня на iPhone 6 и iPad после установки iOS 11 все работает без проблем. Правда, я не часто подключаюсь к каким-то новым Wi-Fi сетям. Но не все же такие счастливчики как я 🙂 Так что давайте разбираться по порядку.
На iPhone и iPad с iOS 11 не выключается Wi-Fi и сам включается. Что делать?
Проверил, и действительно, есть такая проблема. Но это скорее даже не проблема, а такая особенная и оригинальная реализация функции в стиле Apple, которая никому не нужна.
В чем суть? Если отключить Wi-Fi сеть нажав на иконку в пункте управления (что очень удобно, и чем многие пользуются), то Wi-Fi не будет отключен полностью. iPhone будет просто отключен от Wi-Fi сети. Будут разорваны все соединения. А если зайти в настройки Wi-Fi, то там мы увидим сообщение, что «Новые подключения по сети Wi-Fi выключены в пункте управления». А сам Wi-Fi включен. Он просто не выключается полностью. Вот как это выглядит:
Многие пишут, что в iOS 11 сам включается Wi-Fi. Скорее всего это не так. Просто отключив его в пункте управления, и зайдя в настройки, видят, что он включен.
Зачем это сделано, я не знаю. Если вы в знаете, то напишите в комментариях. Очень странное и ненужное решение.
Чтобы полностью отключить Wi-Fi на iPhone, нужно по старинке заходит в настройки и отключать его там.
Зачем тогда этот пункт управления, если по прежнему нужно лазать по настройкам. Но только в том случае, если вам нужно полностью отключить Вай-Фай.
Проблемы с подключением к Wi-Fi в iOS 11
А проблемы все те же: iPhone (ну, или iPad) не видит Wi-Fi сети, ошибка «Не удалось подключиться к сети», бесконечно подключение, не появляется запрос пароля и т. д. Как я понял, в iOS 11 ничего нового в этом плане. И это хорошо 🙂
Очень подробно о решении всех этих проблем я писал в следующих статьях:
Если вы столкнулись с какой-то ошибкой в процессе подключения к беспроводной сети, то можно попробовать выполнить повторное подключение, сделать сброс настроек сети, или полный сброс настроек устройства. Это может помочь при условии, что нет проблем с самой точкой доступа. Если другие устройства подключаются к этой сети и нормально работают.
- Для начала перезагрузите свой iPhone, iPad. Так же перезагрузите маршрутизатор. Если у вас есть к нему доступ.
- Зайдите в настройки, выберите «проблемную» Wi-Fi сеть и нажмите на «Забыть эту сеть» (если вы раньше к ней были подключены).
Затем попробуйте подключится к этой сети. - Сброс настроек сети. Самый рабочий способ. В процессе написания этой статьи, мой iPhone 6 на iOS 11 не захотел подключатся к домашней W-Fi сети (я его много раз отключал и подключал, чтобы сделать скриншоты). Просто не появлялась строка, в которую нужно ввести пароль. Сброс настроек сети помог. Зайдите в Настройки – Основные – Сброс – Сбросить настройки сети. Подтвердите действие. Ничего страшного не произойдет, только слетят пароли от всех Wi-Fi сетей.
Устройство будет перезагружено. - Полный сброс настроек к заводским. Это в крайнем случае. Ну и не факт, что это поможет. На устройстве будут удалены все программы, настройки и т. д. Хорошо подумайте, перед тем как это делать. Сделать сброс к заводским параметрам можно так же, как я показывал выше на скриншоте. Только выбираем пункт «Сбросить все настройки».
Так как iOS 11 вышла недавно, вполне возможно, что еще не все проблемы известны. Если у вас есть интересная информация по этой теме, то можете поделится ею в комментариях под этой статьей. Там же, в комментариях, можете описывать свою проблему. Но только после того, как прочитали статью и попробовали все советы. Все хорошего!
Изменения в App Store для iOS 11 с точки зрения ASO | Блог ✅
6 июня началась конференция для разработчиков WWDC, на которой Apple представила новую версию операционной системы — iOS 11.
?? English version
Помимо очередных нововведений и изменений в ОС, Apple полностью переделала приложение App Store. Всё бы ничего, но смена дизайна изменит ASO-оптимизацию для iPhone и iPad приложений.
1. Итак, новый дизайн
Новый App Store для iPhone и iPad на iOS 11Новый дизайн App Store напоминает дизайн в приложении Apple Music, который был представлен в прошлом году и к которому многие уже привыкли. Основные нововедения и изменения:
1.1 Стало всё крупнее, намного крупнее, чем было раньше. Это касается размера шрифта, иконок, скриншотов и иллюстраций.
Изменения на странице приложения1.2. Видео автоматически начинает проигрываться без звука (привет, Facebook!). Кстати, данная возможность выключена для пользователей из Китая и Индии.
1.3. Новый редакторский раздел «Сегодня» содержит новости (From the Editors), мировые премьеры (World Premiere), новинки (Game of the Day, App of the Day) и подборки приложений по дням. Пока все тексты публикаций на английском языке. Кстати, Apple обещает обновлять этот раздел для всех стран каждый день!
Раздел «Сегодня»1.4. Наконец-таки игры и приложения разделили. Теперь это два разных пункта меню, нет общей страницы (Home Page), где единый фичиринг и топ приложений, как было раньше.
Меню “до” и “после”Меню «Игры» и «Приложения»1.5. Изменилась и сама страница с фичирингом и подборками игр и приложений. Помимо подборок от редакторов App Store на ней показывается топ бесплатных и платных приложений/игр, список категорий, а также блок с «ин-аппами».
«Ин-аппы» на странице приложения1.6. Важно! На текущий момент отсутствует топ по кассовым приложениям и играм (top Grossing). Если это не баг, а фича, то это, безусловно, очень крутая мера со стороны Apple. Как теперь компании будут мерятся, кто больше зарабатывает? ?
Big question I have from WWDC: what happens to app store intelligence firms with Grossing chart going away?
— @eric_seufert
1.7. Пункты меню «Обновления» и «Поиск» переставили местами.
1.8. На экране с поиском также, как и раньше, показываются популярные запросы (Trending search), только в новом дизайне.
Меню «Поиск»1.9. Важно! В поиске показывается теперь не два вертикальных скриншота, а три (привет, Search Ads!).
Изменения экрана с результатами поиска1.10. Сильно изменилась страница приложения (привет, Google Play!). Подробный разбор страницы ниже.
Страница приложения WhatsApp в Google Play и App StoreКажется, с новым дизайном Apple пытается решить основную проблему App Store — discovery новых приложений и игр.
Подробнее об изменениях тут.
2. Страница приложения
На странице приложения (Product Page) появились новые элементы и блоки:
2.1 Промо-баннер
Для некоторых приложений на странице приложения есть промо-баннер, который показывается перед названием и иконкой приложения, стало очень похоже на страницу в Google Play.
Промо-баннер перед иконкой и названия приложенияК сожалению, не все разработчики могут настроить такой баннер для своих приложений, нужно это «заслужить» (например, в Google Play такого ограничения нет).
2.2. Название приложение (App Name)
Apple давно борется с «сеошниками», которые используют длинные названия приложения, причем в самом магазине приложений видна только часть этого названия. Сначала длина названия в App Store была в 255 символов, год назад длину сократили до 50 символов. И вот сейчас длина названия — до 30 символов. В итоге пришли к требованиям, которые были всё это время в Google Play.
На текущий момент в iTunes Connect пока не ввели такое ограничение на название, до сих пор 50 символов. Скорей всего это поменяется с публичным запуском iOS 11.
Редактирование названия в iTunes ConnectОтвет от Google был быстр. Они обновили лимиты для названия, теперь не 30 символов, а все 50. Интересная рокировка получилась. «Совпадение? Не думаю!» ?
Редактирование названия в Google Play Console2.3. Подзаголовок (Subtitle)
Apple решила компенсировать длину названия, введя подзаголовок. Это текстовое поле, длина которого тоже 30 символов.
Данное поле рекомендуется использовать для описания возможностей приложения, а не для текста на подобии такого «world’s best app».
Subtitle под названием приложенияУже сейчас это поле можно заполнить в iTunes Connect:
Редактирование подзаголовка в iTunes Connect2.4. Блок с рейтингами
Ниже иконки и названия приложения появился блок, который содержит следующие элементы:
- Средний рейтинг и общее количество звёзд за всё время (стоит заметить, что раньше рейтинг был по текущей версии приложения),
- Бейдж «Выбор редакции» (если есть у приложения),
- Новинка! Позиция приложения в основной категории,
- Возрастной рейтинг.
2.5. Блок «Что нового»
Если вы ранее устанавили приложение (даже если потом удалили), то теперь текст последнего обновления показывается сразу после блока с рейтингами и виден на первом экране. То есть What’s new можно будет использовать как инструмент возврата пользователей в приложение, соответственно следует писать вменяемые тексты для обновления, а не «Bugfixes and improvements».
Если же пользователь не устанавливал приложение, то блок с What’s new показывается ниже, после отзывов.
2.6. Блок с видео и скриншотами
Теперь можно использовать до трёх видео (App preview), причем для каждой локализации в отдельности. Первое видео будет с автоматически проигрываться при появлении в зону видимости. Требования к видео описаны здесь.
Стоит отметить, если приложение ещё не было установлено, то горизонтальные видео и скриншоты теперь полностью помещаются на первый экран iPhone. Это отличное решение, изучить новое приложение будет проще и быстрее.
Первым идёт видео с автоматическим запускомТакже можно посмотреть скриншоты с других устройств (iPad, Apple TV, Apple Watch), если такая поддержка есть у приложения.
2.7. Описание и промо-текст
По-прежнему первые несколько строк описания являются cамыми важными, т. к. именно они видны пользователю и находятся до ссылки «ещё».
Новинка! Появилась возможность добавить к приложению любой промо-текст, для этого есть специальное поле Promotion Text, длина которого — 170 символов. Этот текст можно обновлять без релиза новой версии, но при этом он не будет участвовать в индексации приложения.
2.8. Блок «Оценки и отзывы»
Apple сильно переработали этот блок, теперь не нужно переходить на отдельный таб, чтобы познакомиться с рейтингом и прочитать отзывы пользователей. Всё находится на одной странице. Ответы на отзывы видны тут же.
Стоит отметить, что средний рейтинг приложения стал более заметным. Кажется, он станет ещё больше влиять на установку приложения/игры. Кстати, разработчик при обновлении приложения может сбросить его, чтобы ошибки прошлых версий не влияли на решение об установке у новых пользователей.
Блок «Оценки и отзывы»Подробнее об отзывах и ответах тут.
2.9. Блок с подписками и «инаппами»
Новинка! Если у приложения есть внутренние покупки, то теперь их можно рекламировать на странице приложения в разделах Subscriptions и In-App Purchases. Можно показывать до 20 «инаппов». При это пользователь может совершить покупку, не заходя в приложение.
Пока данный блок не показывается в первой бете iOS 11.
Подробнее о всех изменениях со страницей приложения тут.
Скриншот новой страницы приложения можно посмотреть по ссылке.
3. Поиск приложений
Выше мы отметили, что, если у приложения вертикальные скриншоты, то в результатах поиска показывается три скриншота вместо двух. Такое изменение сильно уменьшает каждый из скринов и, как следствие, многие из них стали совсем нечитаемыми.
Примеры скриншотов, которые нужно обязательно обновить после выхода iOS 11К выходу iOS 11 многим разработчикам следует обновить скриншоты для своих приложений и игр. Особенно это касается тех, кто получает заметную часть трафика из поиска.
Примеры скриншотов, которые можно не обновлятьКстати, горизонтальные скриншоты и автозапуск видео очень хорошо смотрятся, возможно это будет лучше работать для многих игр и приложений, чем три статичных вертикальных скриншота.
В описании нововедений в App Store сказано, что теперь в результатах поиска будут показываться результаты по «developers, in-app purchases, categories, editorial stories, tips and tricks, and collections».
Ещё стоит отметить, что в поиске выводится название категории, причём у некоторых приложений — это второстепенная категория. Возможно, это баг. Подробнее про категории тут.
Пример разных категорий для одного приложения4. Как изменится ASO-оптимизация
Очевидно, что такие изменения затронут и ASO-оптимизацию приложений для App Store.
Основные изменения:
4. 1. Название приложения и подзаголовок — до 30 символов.
4.2. До трёх видео, которые можно локализовать на любой язык.
4.3. Три первых вертикальных скриншота.
4.4. Средний рейтинг за всё время, при необходимости его можно сбросить.
4.5. Отзывы пользователей и ответы разработчика на них.
4.6. Продвижение «иннапов» на странице приложения.
4.7. Промо-текст для специального анонса или продвижения новых возможностей.
4.8. Текст для What’s new, в основном для возврата старых пользователей.
4.9. Позиция приложения в основной категории.
Подробнее тут.
5. БонусПоявились формальные требования для «фичиринга», а также форма подачи заявки на него и в блок «Сегодня», подробнее здесь.
каким он будет и что это значит / Хабр
Лета как будто и не было: кажется, буквально вчера все взахлеб обсуждали июньскую презентацию с WWDC, на которой представители Apple рассказали общественности об iOS 11, и вот уже считанные недели отделяют нас от публичного релиза. А значит, пришло время освежить в памяти все, что было сказано о новом девайсе, и морально подготовиться к неизбежным переменам, которые ждут всех, кто имеет дело с мобильными приложениями. И это касается не только разработчиков. В новой версии было значительно переработан App Store, а значит достанется и маркетологам, и контент-менеджерам, и дизайнерам — измененная среда продвижения задает новые правила и приоритеты, тем самым заставляя меняться и продукт.
В статье мы пошагово опишем свой опыт подробного знакомства с бета-версией обновленного App Store, выделим основные изменения, которые отметили для себя, и предположим, как следует скорректировать стратегию продвижения, чтобы не оказаться застигнутыми врасплох.
Здоровая конкуренция
Первое крупное изменение, которое бросается в глаза, как только загрузится приложение — это обновленный набор вкладок на нижней панели. Речь здесь идет не о простой реструктуризации, но о принципиально новом подходе к представлению контента.
Панель вкладок iOS 10
Панель вкладок iOS 11
Как мы видим, вкладка «Топы» исчезла в принципе; забегая вперед, поясним, что часть информации, которая в ней содержалась (например, топы платных и бесплатных приложений), ушла в другие вкладки, а часть — просто была ликвидирована (Top grossing apps). Вместе с тем, появились новые вкладки «Игры» и «Приложения», а также таинственный раздел «Сегодня». Ослабевающее внимание к топам и специфика нового контента наводит на мысли, что в Apple приняли новую политику: акцент смещается с крупных, успешных игроков на проекты без особых регалий, но с самобытностью и хорошим потенциалом. Разумеется, для независимых разработчиков и инди-компаний это отличные новости.
Особенно многообещающе в этом отношении выглядит раздел «Сегодня», который целиком посвящен последним новинкам и содержит массу редакторских материалов разных форматов: тематические подборки, истории успеха/проб и ошибок, интервью с командами, лайфхаки, рекомендации. Иными словами, у рядового разработчика появляются новые пути привлечь к себе внимание и оказаться на главной странице — имеет смысл задуматься о том, как можно эффектно подать если не сам продукт, то его историю и свой опыт. Однако за счет более подробного и глубокого освещения общее количество приложений, которые ежедневно попадают на главную страницу, сокращается. На официальном сайте Apple призывает команды рассказывать о себе в свободной форме, подчеркивая при этом, что предпочтение будет отдаваться таким продуктам, которые отличаются хорошим дизайном или графикой, оригинальностью и новизной, универсальностью (локализации, технические характеристики), а в случае с играми также добротными геймплеем, звуком, управлением и проработанной историей.
Такая дифференциация требований подводит нас к следующему пункту — глобальному разделению игр и приложений, на которое указывает появление одноименных вкладок в панели. Оно выгодно прежде всего для неигровых утилит — по статистике на 2016 год, игры составляли около половины общего числа продуктов, оставляя далеко позади все прочие категории. Отделение такого массивного пласта тайтлов резко снижает конкуренцию за места в топах и редакторских подборках — ведь каждая вкладка содержит свои собственные рейтинги.
Разделы Игры и Приложения
Это самые существенные изменения в наборе и составе представленных вкладок. Раздел «Обновления» не подвергся значительным изменениям, только поменялся в панели местами с «Поиском». По словам Apple, поиск будет теперь осуществляться по приложениям, играм, редакторским материалам и встроенным покупкам, хотя бета-версия еще не отражает такой широты охвата. Страница ввода запроса сохраняет свой обычный вид — та же строка, то же автозаполнение и тот же список запросов «в тренде». А вот на странице с результатами поиска можно увидеть кое-что новое.
Страницы поисковой выдачи на iOS 10 и iOS 11
Графика first
Эти экраны хорошо иллюстрирует еще одну тенденцию, прослеживающуюся в новом дизайне App Store — возрастающую роль графического наполнения. Карточки приложений расположены несколько теснее, чем в предыдущей версии, однако на этой ограниченной площади умещаются уже не два, а три вертикальных скриншота. Вместо статичного изображения можно использовать видео, у которого теперь настроено автоматическое проигрывание (в режиме без звука) при прокрутке. Одним словом, разработчику предоставляются все условия, чтобы с ходу привлечь пользователя броским визуальным контентом. Броскость здесь выходит на первый план — более мелкие скриншоты и иконка должны сильнее притягивать внимание, те несколько секунд видео, который посетитель неизбежно увидит, должны быть достаточно динамичными и интригующими, чтобы заставить его остановиться. Само собой, что мельчить с промо-надписями не стоит: пользователь их просто не сможет прочитать да и, вероятнее всего, не захочет. Прочие сведения о продукте урезаются и оформляются в более сдержанном стиле, отходя на задний план. Примечательно также, что из состава этих базовых сведений исчезает название компании-разработчика — на его месте располагается категория или же короткая приписка, о которой мы поговорим позже.
И еще одно обстоятельство, которое следует отметить: ужатые размеры каждой «карточки» приводят к тому, что она не занимает экран целиком или даже основную его часть. Уже в процессе прокрутки ваше приложение конкурирует за внимание пользователя с тем, которое идет следом.
Индивидуальные страницы продуктов
Теперь перейдем на индивидуальную страницу приложения и посмотрим, что изменилось здесь. Это наиболее информационно насыщенный экран, который, вполне логично, подвергся кардинальной переработке. Главное отличие в том, что новая версия не содержит вкладок — практически вся информация представлена на едином пространстве. Однако есть и более частные изменения в расположении и наборе блоков, которые необходимо учитывать при продвижении продукта.
Страницы продукта на iOS 10 и iOS 11
Верхняя часть экрана содержит самую основную информацию о продукте, выстроенную в лаконичном и упорядоченном виде. Первая полоса — название приложения и компании.
Вторая полоса — две кнопки целевых действий. Кнопка «Загрузить» изменилась, пожалуй, только к лучшему — стала ярче и соблазнительнее, однако редизайн кнопки «Поделиться» вызывает в сообществе некоторые сомнения. Перемена действительно получилась настолько радикальной, что пошла в ущерб интуитивности: она резко отличается по виду от аналогичных элементов на других моделях, не вызывает нужных ассоциации (троеточие скорее наводит на мысли о раскрытии более подробной информации) и расположена там, где раньше размещалась кнопка покупки. Кроме того, опция «Поделиться» теперь исчезает из поля зрения посетителя, как только он прокрутит верхнюю часть экрана. Все это вызывает пессимистичные прогнозы о том, что популярность этой функции в ближайшее время может резко упасть.
Рейтинг и отзывы
На третьей полосе верхней панели располагаются показатели, которые могут мотивировать пользователя на покупку: средняя оценка, на которой сделан явный визуальный акцент, число проголосовавших, плашка «Выбор редакции» (если она есть), место в общем рейтинге и возрастные ограничения. Важное нововведение: средняя оценка теперь рассчитывается на базе голосов с момента публикации приложения, а не последнего обновления. А что же делать тем, кого текущий результат не удовлетворяет и кто возлагает большие надежды на обновление? Для них существует вариант «обнулить» статистику, но прибегнуть к нему можно не чаще раза в год. Такая схема, конечно, удобна скорее для сохранения хорошей репутации, чем для ее восстановления, и это следует иметь в виду.
Зато возможность смягчить негативную реакцию со стороны пользователей проявляется в другом — теперь компания может оставлять ответы на комментарии пользователей, чтобы прояснить ситуацию и, возможно, опровергнуть критику. Это тем более ценно потому, что «карусель» со свежими комментариями (в сопровождении ответов, если таковые имеются) теперь выдается непосредственно под описанием, вместе с более детальной информацией об оценках — не нужно даже делать дополнительный шаг, меняя вкладку, как раньше. В целом, новый дизайн сильнее концентрирует внимание пользователя на том, как оценивали приложение его предшественники и призывает разработчика активно вступать в диалог.
Раздел Оценки и отзывы на iOS 11
Прокручивая страницу ниже, можно заметить, что акцент на визуальном контенте сохраняется и здесь. Мини-версия иконки закреплена на верхней панели и постоянно остается у пользователя перед глазами в процессе навигации. Галерея занимает центральное место на странице, причем ее объем в новом App Store расширен: для одного приложения можно добавлять до пяти скриншотов и до трех видеороликов. Ролики могут подгружаться отдельно для каждой локализации, подгоняются под ширину экрана, и первый из них начинает проигрываться автоматически. В отличие от экрана с результатами поиска, размер скриншотов в галерее остается сопоставимым с прежним. Для особо отличившихся тайтлов добавляется еще одна графическая составляющая — крупный баннер на самом верху страницы, который заставляет вспомнить о Google Play.
Промо-баннер на странице приложения
К слову, с оценками и отзывами связано еще одна грядущая перемена, которая в данный момент не слишком афишируется. Apple планирует принудительно ввести собственный API для реализации в приложении всплывающих окошек с предложением оставить оценку или комментарий, который раньше предлагался добровольно. Оценки и комментарии, оставленные в приложении, автоматом будут переносится на маркет. В SKStoreReviewController прописаны ограничения: приглашать пользователей поделиться впечатлениями можно только три раза в год и только в том случае, если они еще не оставляли отзыва.
Описание и прочие тексты
Текстовое наполнение страницы складывается из следующего:
- Название. Его длина сократилась с 50 до 30 символов. Название, естественно, индексируется при поиске и отображается как в выдаче, так и на индивидуальной странице. Менять его можно при обновлении.
- Приписка — новое поле, также с ограничением в 30 символов. Это небольшой слоган, который кратко выражает суть приложения и, в идеале, пробуждает в читателе интерес к более близкому знакомству. Он высвечивается на странице прямо под названием и также индексируется при поиске. Аналогичным образом, приписка заменяется только при обновлении.
- Промо-текст — еще одно новшество, текст длиной до 170 символов. Он выводится на странице приложения перед описанием, но при поиске не индексируется — соответственно, использовать его под ключи бессмысленно. Смысл промо в том, чтобы сообщить пользователям какие-то не приуроченные к обновлениям новости — например, рассказать о како-то акции или инициативе. Редактировать промо можно в любой момент, когда появится свежая информация.
- Описание. Основной текст, описывающий приложение, отображается на индивидуальной странице приложения после галереи. Как и прежде, изначально пользователю видна только часть описания (полностью оно раскрывается по клику), и часть эта уменьшилась с пяти строчек до трех. Редактировать текст описания теперь разрешается только при загрузке новой версии.
Вывод здесь напрашивается сам собой: Apple продолжает мягко, но настойчиво искоренять привычку разработчикам злоупотреблять ключами в названии и при этом поощряет тех, кто умеет писать ёмко и креативно, достигая нужного эффекта даже на малых объемах.
«Что нового»
Далее идет еще одна интересная секция — «Что нового», которая включает информацию о последнем обновлении и ссылку на полный список версий. Интересна она своей неожиданно возросшей значимостью. Данный блок в новом App Store становится подвижным — его местоположение определяется тем, установлено ли приложение на девайс просматривающего. Если нет, он будет занимать скромное место после отзывов и рейтинга, если же продукт уже в наличии — информация об обновлениях будет отображаться сразу за верхней панелью, соблазняя пользователя попробовать новый функционал (работает, даже если приложение было удалено). Соответственно, если вы заинтересованы в вовлечении старых пользователей, не забывайте о том, что именно этот раздел становится вашей визитной карточкой.
Встроенные покупки
Кстати, подобную, и даже большую, автономность получили и инаппы. Их не только можно скачивать непосредственно с маркета, не заходя в приложение и не устанавливая его, но и рассматриваются они теперь как своего рода мини-продукты, которые можно продвигать как отдельные тайтлы — скажем, они могут фигурировать в редакторских подборках. На странице приложения будет представлен полный набор инаппов и подписок — каждый пункт на отдельной небольшой плашке с названием, иконкой и описанием. Так что можно уже тренироваться придумывать звучные наименования и подбирать арт.
Но не стоит обманываться самостоятельностью инаппов: они все-таки остаются частью продукта и любые проблемы с ними оборачиваются проблемами с проектом в целом. В этом отношении показателен кейсом студии DevGame, у которой процесс публикации приложения серьезно затянулся как раз из-за мелкого недочета в иннапе — ознакомиться с их поучительным опытом подробнее можно
здесь.
Изменения в остальных блоках не настолько масштабны: дизайн раздела «Информация» стал удобнее, появились секции, посвященные разработчику и другим его проектам, но это мало влияет на общее представление продукта.
Приятным бонусом разработчику является новое оформление канала: каждый разработчик получает шапку — коллаж, составленный из иконок приложений канала, где более крупно выделяется та иконка продукта, который был добавлен или обновлен последним.
Выводы
Обобщая сказанное, мы сделали для следующие выводы о перспективах, которые открывает для нас обновленная версия App Store:
- Поле возможностей для разработчиков среднего звена расширяется: администрация заинтересована в свежем материале для колонок и предлагает специальный канал связи для заявок. Разделение игр и приложений также снижает уровень конкуренции в топах.
- Пользовательская оценка получает больший вес, определяя рейтинг приложения на долгое время. Обновленная структура экрана привлекает внимание к таким показателям, как место в рейтинге и средняя оценка, на видное место выводятся отзывы.
- Разработчиков поощряют вступать в диалог с пользователями, добавляя свои комментарии к отзывам.
- Apple начинает более жестко контролировать взаимодействие приложения с маркетом, вводя особый API для всплывающих окон с оценками.
- Качественный визуальный контент — залог успеха. Новый дизайн отдает больше места под изображения; он заточен под броские, визуально «цепляющие» картинки и видеоматериалы, способные вовлечь пользователя с первой секунды.
- Сокращается объем текстовых полей, что свидетельствует о новом этапе борьбы Apple с заспамленными названиями и выдвигает новые требования к контенту.
- Разделы «Что Нового», инаппы и подписки становятся «лицом» приложения, которое формирует образ продукта у отдельных групп пользователей и требует качественного, продуманного оформления.
Одним словом, работы на ближайшие три недели хватит всей команде. За дело, и удачи после релиза!
Приложение не работает с iOS 11? Ищем выход!
от: 09-10-2017 01:14 | раздел: Soft / Программы и приложения
Возможно, что, еще устанавливая на свой iPhone или iPad версию iOS 10.3, вы заметили, что при открытии определенных приложений и игр появлялось предупреждение о необходимости их обновления для работы с будущими версиями iOS.
Вы, конечно же, можете продолжать использовать их с iOS 10, но если вы планируете перейти на iOS 11 (если уже не сделали этого), пора проверить, не потеряете ли вы свои приложения после этого перехода.
Нет необходимости поочередно открывать каждое приложение, чтобы обнаружить вышеописанное предупреждение, хотя, в дополнение к нему, iOS 10.3 может отобразить список всех затронутых приложений, которые в настоящее время установлены.
Итак, прежде чем следовать приведенным ниже указаниям, убедитесь, что на вашем устройстве имеется достаточно места для обновления текущих приложений. Откройте App Store и нажмите Updates и Purchased на iPhone или просто Purchased на iPad.
Если вы отключили автоматическую загрузку приложений в Settings > iTunes & App Store на любом из ваших устройств, вам нужно будет следовать нижеприведенному руководству на каждом устройстве, чтобы убедиться, что вы не обновили приложение, которое находится на вашем iPhone 7, но не на iPad Pro.
Важно! Переход на 64-битный вариант уже несколько лет обязателен для разработчиков, а потому спросите себя, нужно ли вам приложение, которое не обновлялось многие годы с тех пор, как Apple начала переход на 64-битную ОС.
1. Проверяем список приложений
В разделе Settings > General > About, если стрелка справа от строки Applications отсутствует, ни одно из ваших приложений не требует немедленных действий (хотя это не гарантирует, что у них не будет других проблем в iOS 11). Если стрелка есть — коснитесь ее.
2. Проверяем наличие обновлений
Теперь вы можете увидеть список приложений, которым требуется уделить внимание. Здесь есть приложения, у которых есть доступные обновления, и те,- у кого их нет.
В списке тех, у кого есть доступные обновления, коснитесь имени приложения, чтобы перейти на его страницу в магазине приложений. Здесь вы увидите кнопку Update. Загрузите обновление и проверьте снова, — поддерживает ли iOS совместимость приложения.
3. Поиск новых версий
Если приложение больше не доступно, не имеет обновлений или исправлений, проверьте, доступно ли его обновление как отдельное приложение: найдите имя разработчика в App Store и просмотрите все, что похоже на ваше приложение.
4. Спросите разработчика
В противном случае попросите разработчика напрямую через его веб-сайт, есть ли у него планы по обновлению или замене приложения.
5. Не теряйте надежды
Если приложение было исключено из списка, оно не обновлялось годами, или если сам разработчик сказал, что он не планирует его обновлять, вам может потребоваться найти что-то, что сможет занять его место.
Второй вариант — даже если приложение в настоящее время отображается как проблемное для iOS 11, есть все шансы, что обновление может выйти даже после того, как iOS 11 появится на устройствах, в течение нескольких месяцев.
6. Найти замену
Если на самом деле нет никакой надежды на обновление для вашего приложения, есть немалый шанс, что в App Store найдется альтернатива, на которую вы можете обратить свое внимание.
Попробуйте найти ключевые слова, относящиеся к приложению. Если это, например, — календарь, просто выполните поиск «календаря», которых там огромное множество. Альтернативы могут не иметь идентичного внешнего вида и функций вашего старого приложения, но в большинстве случаев вы сможете найти достойную замену.
Конечно, это не поможет вам в вопросе с играми, поэтому, если вам особенно не нужна iOS 11, можете пока играть в любимую игру, пока вам не надоест, а потом уже перейти на новую ОС. В конце концов, сколько можно тратить время на игру, которую вы уже сто раз прошли? А если нет — то может и не стоит?
Подписывайтесь и читайте новости от ITквариат раньше остальных в нашем Telegram-канале !
Поделитесь этой новостью с друзьями!
Иван Ковалев
VIAЗаметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
И еще об интересном…
Все способы, которыми Apple iOS 11 изменит ваш iPhone
Последняя операционная система Apple для iPhone и iPad должна быть выпущена 19 сентября и принесет с собой ряд новых функций и настроек, которые призваны сделать ваш телефон более безопасным в использовании и многое другое настраиваемое.
iOS 11 была фактически анонсирована на Всемирной конференции разработчиков Apple в июне, где она также представила свой новый динамик HomePod, конкурента Amazon Echo, и представила новый iMac Pro вместе с модернизированными iMac и MacBook.Точно так же, когда Apple представила iPhone 8 и iPhone X на прошлой неделе, они отметили, что iOS 11 выйдет на этой неделе и будет поставляться на недавно анонсированных телефонах. Вот краткое изложение некоторых основных функций iOS 11.
«Не беспокоить во время вождения»
Мы все знаем, насколько опасными могут быть текстовые сообщения или использование телефона в целом во время вождения, но это не мешает людям думать, что им это сойдет с рук. Кроме того, жужжащие сигналы на вашем телефоне отвлекают, даже если вы не смотрите на них (а иногда кажется, что они никогда не прекращаются).Следующее обновление Apple будет включать возможное решение этой проблемы: оно автоматически блокирует уведомления, когда ваш телефон думает, что вы находитесь за рулем.
Тексты, отправленные через iMessage, также будут перехвачены. Когда один из них прибудет, телефон автоматически ответит, что вы едете за рулем и что вы ответите, когда доберетесь до места назначения. (Вы можете запрограммировать свой телефон на пропускание некоторых номеров через блокаду, чтобы близкие могли связаться с вами в крайнем случае.) Когда телефон определит, что вы перестали водить машину, ваш экран вернется к жизни, и вы сможете наверстать упущенное. обо всем, что вы пропустили.
Настраиваемый центр управления
Центр управления, эта панель с легко доступными кнопками и инструментами, которые вы видите, когда проводите пальцем вверх от нижней части экрана iPhone, также будет переработана в новом обновлении. Скоро все элементы управления будут расположены на одной красочной странице с виджетами.
Некоторые жаловались, что новый макет сбивает с толку и загроможден, но это не обязательно: Центр управления будет настраиваемым, поэтому вы можете добавить столько (или меньше) виджетов, сколько захотите, включая быстрый доступ к камеру, калькулятор или Apple TV.
Кроме того, в iPhone есть новый переключатель режима «Низкое энергопотребление», предназначенный для экономии заряда аккумулятора, когда вы находитесь вне дома, когда нет места для зарядки телефона. В новом Центре управления также есть быстрые настройки специальных возможностей, включая параметры увеличения экрана, изменения яркости, увеличения (или уменьшения) текста, включения режима «Не беспокоить» и т. Д. И каждая настройка теперь использует функцию Apple «3D Touch», где нажатие и удерживание значка вызывает дополнительные полезные параметры.
Siri познакомится с вами. Хорошо.
Siri, программа персонального помощника Apple, также подвергнется капитальному ремонту. Компания заявила, что скоро программа получит «новый, более естественный голос», который будет более «выразительным», чем та роботизированная мелодия, которая у нее сейчас. На конференции на прошлой неделе были воспроизведены аудиозаписи мужских и женских голосов, чтобы продемонстрировать более тонкое произношение. Но самые большие изменения в Siri будут скрыты за счет машинного обучения и искусственного интеллекта.
Вот что это означает: Apple утверждает, что Siri так много узнает от вас, что сможет предугадывать ваши потребности и вносить предложения еще до того, как вы их попросите.
Например, он будет предлагать новости, основанные на том, что вам понравилось. Если вы пишете другу о фильме, который вы смотрели, или о месте, которое вы посетили, Siri автоматически наберет название фильма или места. Он предложит вам новые поисковые запросы в Safari на основе прочитанных вами статей. Он автоматически ставит в очередь понравившиеся песни, предлагает песни, которые, по его мнению, вам понравятся, или отвечает на мелкие вопросы о песнях, которые вы играете.
Siri многое узнает о вас.
‘ Выгрузить неиспользуемые приложения ’iOS 11 также поможет сэкономить место на вашем телефоне. Когда у вас заканчивается пространство для хранения, новая дополнительная функция автоматически удаляет приложения, которые вы не используете очень часто. Это называется «Выгрузить неиспользуемые приложения», и вы можете включить его, зайдя в «Настройки» и нажав «Общие». Выбранные приложения удаляются, и вы получаете обратно все пространство, которое они использовали, что может быть особенно полезно для людей, которым нужно освободить место для большего количества фотографий, для обновлений телефона или просто для загрузки музыки или фильмов на долгое время. полет.
Но не волнуйтесь. Ваш телефон будет хранить все данные, которые вы связали с удаленным приложением, которые будут отображаться в виде серого значка после удаления. Если вы когда-нибудь захотите переустановить его, все, что вам нужно сделать, это нажать серый значок, и все вернется на круги своя.
(Даже до выхода iOS 11 пользователи могут получать предупреждения о некоторых приложениях, которые не поспевают за изменениями Apple.)
Apple Pay через текстовое сообщение
Мобильная платежная система Apple, Apple Pay, также получит буст с новым обновлением. Используя свою кредитную или дебетовую карту, вы сможете отправлять деньги любому, кто также использует iOS11, с помощью текстового сообщения, что может быть особенно полезно для разделения чека в ресторане, оплаты кому-то денег за бензин или даже оплаты аренды, если вы близки со своим домовладельцем. Вы даже получаете электронную квитанцию, подтверждающую, что платеж прошел.
Получить деньги от кого-то будет так же просто. После получения оплаты с помощью текстового сообщения вы можете использовать Apple Pay, чтобы потратить деньги в магазинах и в Интернете, или перевести их на свой банковский счет.Думайте об этом как о версии Venmo, которая предназначена только для (или специально, в зависимости от вашей точки зрения) пользователей Apple. Если вы уже используете Apple Pay для оплаты покупок в участвующих розничных магазинах, вам может понравиться возможность быстро отправлять и получать деньги от других пользователей iPhone. К сожалению, по данным TechCrunch, эта функция не будет готова к запуску, но с более поздним выпуском iOS 11, который выйдет этой осенью.
Эта статья была первоначально опубликована 12 июня 2017 г. и обновлена 18 сентября 2017 г.Он был снова обновлен 20 сентября, чтобы отметить, что Apple Pay недоступна при запуске.
iOS 11: восемь лучших новых функций для вашего iPhone и iPad | iOS
Apple iOS 11 будет доступна для загрузки на iPhone и iPad с сегодняшнего дня, добавляя различные новые функции, включая возможность настройки Центра управления впервые.
Не все iPhone и iPad смогут запускать iOS 11: кому-то с iPhone 5 или 5C, iPad 4 или старше не повезло.Но большинство устройств, купленных за последние несколько лет, смогут бесплатно загрузить обновление через приложение «Настройки» или через iTunes на компьютере.
Если у вас установлены старые приложения, которые давно не обновлялись, имейте в виду, что они могут не работать после установки iOS 11, поскольку в нем прекращается поддержка 32-разрядных приложений. Большинство из них подойдет, но вы можете узнать, не работает ли какое-либо из приложений, установленных на iOS 10, перед обновлением.
1. Вы, наконец, можете настроить Центр управления
Фотография: Центр управления Apple, экран настроек, заполненный виджетами, который можно найти, проведя пальцем вверх от нижней части экрана, был переработан, чтобы сразу уместить больше на экране.Но, вероятно, самое лучшее в нем то, что теперь вы можете изменить то, что на нем. Хотите кнопку будильника или секундомера? Ты понял.
По-прежнему нет возможности напрямую перейти в приложение «Настройки» из него, но если вы с силой или долго нажмете на некоторые из виджетов, например настройки беспроводной сети, вы получите всплывающее окно с дополнительными параметрами.
2. Еще смайлики
Эклектичное сочетание новых смайлов, доступных в iOS 11. Фотография: AppleЕсть ли такое понятие, как слишком много смайлов? В любом случае, в iOS 11 есть множество новых возможностей, которые оживят вашу жизнь с сообщениями.От кормящих матерей до зомби, пикси, тираннозавра и рвотного смайлика — есть из чего выбрать.
3. Приложение «Файлы»
Приложение «Файлы» на iPad. Фотография: AppleApple всегда утверждала, что на самом деле вам не нужен доступ к файловой системе в iOS — это мобильное программное обеспечение, а не операционная система для настольных компьютеров. Но iOS 11 добавляет для этого новое встроенное приложение, хитроумно названное «Файлы».
Файлы могут сортировать ваши, ошибочно, файлы на вашем iPhone или iPad, в определенных приложениях, на iCloud Drive и даже в некоторых сторонних облачных хранилищах, таких как Google Drive.
4. Переводы Siri
Siri теперь может помочь вам с помощью нескольких фраз на китайском, французском, немецком, итальянском или испанском языках. Фотография: AppleSiri получает несколько новых функций под iOS 11, в том числе возможность переводить фразы на китайский, французский, немецкий, итальянский или испанский языки. Просто произнесите «как вы говорите» и желаемую фразу, оканчивающуюся на «на испанском» или на выбранном вами языке, и Siri ответит, если у вас есть подключение к Интернету.
5. Введите Siri
Если вы ненавидите разговаривать с Siri, но все же хотите задавать вопросы или выполнять действия с помощью клавиатуры, теперь это возможно.Активируйте функцию «Введите текст для Siri» в настройках специальных возможностей. Это намного медленнее, и если вы не будете осторожны, Siri ответит голосом (для этого тоже есть настройка), но это может быть полезно.
6. Блокировка рекламы
Рекламы, которые следят за вами по всему Интернету, скоро уйдут в прошлое в Safari благодаря новой по умолчанию функции, которая не позволяет рекламным компаниям отслеживать ваши действия. Рекламная индустрия называет это «саботажем экономической модели Интернета»; Apple называет это защитой конфиденциальности пользователей.
7. Док-станция для iPad
В iOS 11 есть несколько изменений для iPad, включая новую систему многозадачности. Наиболее очевидным изменением является новая док-станция, которая, как и док-станция из Mac OS, присутствует всегда и может быть вызвана смахиванием вверх от нижней части экрана.
Оттуда вы можете перетаскивать приложения, чтобы начать многозадачность, с выбором недавно открытых приложений или постоянного списка избранных.
8. Проведите пальцем вниз по клавиатуре
Новая клавиатура Quicktype от Apple для iOS 11.Фотография: AppleЕще одно изменение, характерное для iPad, — это возможность проводить вниз по клавишам виртуальной клавиатуры, чтобы перейти к альтернативным символам. Проведите пальцем вниз до точки, чтобы увидеть вопросительный знак, или букву «r» для числа 4. Это намного быстрее для набора одной рукой, чем растягивание, удерживание Shift и нажатие правильной клавиши.
Apple iOS 11: что мы знаем на данный момент — Программное обеспечение
Apple в настоящее время проводит бета-тестирование своей будущей операционной системы iOS 11 с разработчиками, чтобы получить отзывы об изменениях и улучшениях, которые компания планирует внедрить в мобильную ОС.
Основываясь на бета-версии, вы можете ожидать довольно большой набор изменений от iOS 11, некоторые из которых не будут заметны сразу при первом использовании.
Другие идут глубже и для ИТ-администраторов могут потребоваться обновления программного и аппаратного обеспечения.
Не заблуждайтесь, iOS 11 внесет ряд серьезных изменений, к которым вы должны быть готовы.
Новый жирный вид
Визуально iOS 11 лишь умеренно отличается от своей предшественницы: рабочий стол и большинство приложений сохраняют свой существующий вид, за исключением календаря.
Типографика во встроенных приложениях, таких как почта и телефонный номеронабиратель, включает более крупные жирные шрифты без засечек, чем раньше, но большинство вещей будет выглядеть знакомо.
Наложение центра управления, однако, теперь представляет собой единую страницу, на которой пользователи могут добавлять и удалять элементы. Некоторые более сложные элементы управления реагируют на долгое нажатие на 3D-касание и открываются для отображения всего интерфейса.
Это большее улучшение, чем кажется на первый взгляд, поскольку наличие ярлыков, которые вы хотите на одной странице, заставляет вас регулярно использовать центр управления для быстрого доступа к функциям системы.
Apple также переработала интерфейсы App Store и музыкальных приложений, сделав их более плоскими и жирным шрифтом. Дизайн обеспечивает более четкую дифференциацию категорий приложений и контента, а также помогает находить материалы, которые ранее были затушеваны.
Новое приложение для работы с файлами в iOS 11 является логическим дополнением: оно обеспечивает легкий доступ к файлам, хранящимся и синхронизируемым через хранилище iCloud, а также к документам, локальным для iDevice и других поставщиков хранилищ, таких как Dropbox.
Это неожиданное встроенное приложение, но давно назревшее, потому что вычисления — это работа с файлами, и iOS тоже.
ВMaps есть картография таких мест, как аэропорты и торговые центры, а также стрелки для определения направления движения, позволяющие определить, в каком направлении двигаться во время вождения. Пока не ясно, когда эти функции появятся в Австралии.
Новая клавиатура для левшей и правшей доступна в портретной ориентации в iOS 11, но, к сожалению, большая горизонтальная клавиатура с полезными клавишами со стрелками для перехода по тексту ушла навсегда.
В более ранних версиях iOS создание снимков экрана выполнялось простым нажатием двух кнопок. В iOS 11 есть промежуточный этап, на котором однажды сделанный снимок экрана появляется в виде небольшого значка.
Затем вы можете открыть его, пометить снимок экрана и сохранить его в фото. Скрестив пальцы, Apple добавит полный набор инструментов для редактирования изображений в функцию скриншотов, чтобы вы могли кадрировать и настраивать на одном экране.
Apple доработала приложение сообщений в последней версии iOS, включив в него стикеры, смайлы и другие вещи, которые, как вы надеетесь, ваша тетя, которая все еще использует 90s txt spk на своем iPhone, никогда не найдет.
Новое в приложении сообщений iOS 11 — это возможность анимировать весь экран, панель приложений в нижней части экрана и — это заставит наши банки скрежетать зубами и вопить — возможность отправлять и получать наличные в сообщениях благодаря Интеграция с Apple Pay.
В списке дел Apple для финальной версии iOS 11 есть бизнес-чат в сообщениях.
Несмотря на название, эта функция предназначена для компаний, желающих общаться с клиентами в чате, и наоборот.
Это инструмент продаж, который можно использовать для обслуживания клиентов, покупок (Apple Pay, конечно, интегрирован в бизнес-чат), обмена информацией, планирования встреч и многого другого.
Если ваша клиентская база — это в основном пользователи Apple iOS, бизнес-чат заслуживает особого внимания, поскольку его легко использовать и внедрять.
Кроме того, сообщения в приложении для обмена сообщениями теперь можно хранить в iCloud.
В другом месте приложение для заметок приобрело больше функций в iOS 11. Теперь оно может сканировать документы и формы, поддерживать рукописный ввод с возможностью поиска (на самом деле оно неплохо прорабатывало мои каракули), а также встроенные рисунки.
Под капотом
К большому огорчению австралийских банков, которые безуспешно боролись за доступ к функции связи ближнего радиуса действия (NFC) в более ранних версиях iOS, iOS 11 предоставляет именно это.
Известный как CoreNFC, сторонние разработчики приложений могут использовать его для чтения тегов NFC — но только на iPhone 7, 7 Plus и грядущем iPhone 8 (название не является официальным).
Siri, персональный цифровой помощник Apple, освоил несколько новых приемов в iOS 11, таких как перевод с английского языка (США) на китайский, французский, немецкий, итальянский и испанский языки, а также синхронизация между устройствами с полным шифрованием для лучшего понимания того, что пользователи просят от него.
Интерфейс программирования приложений (API) SiriKit также был расширен, и теперь разработчики могут интегрировать ИИ Apple с приложениями для таких функций, как оплата счетов, сканирование QR-кодов и управление задачами.
Это только начало, и Apple не спешила официально вскочить на борт победителя дополненной / виртуальной реальности, но все это в полной мере присутствует в iOS 11.
Есть новый ARKIT API, который может заинтересовать разработчиков AR / VR; все ждут, когда Apple выпустит шлем AR / VR или аналогичный, который не будет тяжелым, горячим в использовании и в целом неуклюжим.
Apple также подключила свои быстрые пользовательские графические чипы в iDevices и эффективный API для рисования и анимации металлов с помощью машинного обучения.
CoreML и Vision дебютируют в iOS 11, и разработчики могут обучить API распознавать формы и объекты, с которыми можно взаимодействовать в реальном мире.
iOS для iPad: настройки для конкретных устройств
Apple представила 10,5-дюймовый iPad Pro на недавней конференции WWDC 2017, исправив некоторые аппаратные недостатки и добавив экран и клавиатуру большего размера.
Новый iPad Pro должен хорошо сочетаться с iOS 11, в которой есть новый настраиваемый переключатель задач на док-станции, доступный на каждом экране и позволяющий открывать вторые приложения для функции многозадачности с переключением и разделением экрана.
Перетаскивание документов, выделенного текста и изображений — это потрясающая функция iOS 11 на iPad, если вы к ней привыкнете.
Apple также очень хочет, чтобы вы купили карандаш в комплекте с iPad Pro. Если вам нравится рисование на экране (и в новом iPad Pro есть некоторые улучшения, такие как быстрая частота обновления 120 Гц для более низкой задержки стилуса), вы также можете получить его, потому что есть несколько хороших приложений. Кроме того, невозможно побороть пассивно-агрессивное чувство, связанное с отправкой рукописных писем своим коллегам.
Наконец, в версии iOS 11 для iPad появилась новая клавиатура QuickType. Он большой и позволяет выбирать буквы, нажимая на клавиши вверх.
Конец 32-битной технологии близок… или нет?
До того, как была выпущена первая бета-версия для разработчиков, считалось, что iOS 11 сделает 32-разрядные приложения устаревшими, поскольку они не будут работать в новой операционной системе.
Apple сообщала об изменениях в течение последних двух лет, предлагая разработчикам обновить свои приложения до 64-разрядных версий, что имеет смысл и, как правило, безболезненно.
Многие разработчики не удосужились обновить свои приложения, и до сих пор 32-разрядные приложения продолжают работать, хотя и с предупреждением о том, что они могут замедлить работу устройств пользователей.
Исчезновение 32-битных приложений, возможно, не большая потеря для пользователей, если разработчики не обновляют их регулярно.
64-битность iOS 11 означает, что старые iDevices, такие как iPhone 5 / 5c и iPad 4-го поколения, не могут быть обновлены до новой операционной системы и останутся на iOS 10.3.x.
Улучшение камеры, фотографий и изображений
Все будет показано на передней панели камеры, когда следующий iPhone выйдет из крышки и Apple продемонстрирует новое оборудование для обработки изображений.
На данный момент iOS 11 обеспечивает зацикливание, отскоки и длительную выдержку при съемке с камер на iPhone 7 и 7 Plus. Длинная выдержка объединяет живые фотографии движущихся изображений в неподвижное изображение.
Портретный режим получает оптическую стабилизацию изображения и расширенный динамический диапазон, а также вспышку True Tone.
В iOS 11 появятся два новых эффективных формата видео и изображений с высоким уровнем сжатия, но с небольшой потерей качества: HEVC и HEIF H. 265 обещают вдвое снизить требования к хранению изображений и видео, что является победой для всех.
Новые форматы видео и изображений сложно протестировать без установки бета-версии High Sierra macOS, и вам нужен хороший экран. Быстрое тестирование показывает, что файлы действительно намного меньше, чем JPEG и эквиваленты MP4, при этом качество просто отличное.
Также удобна возможность сканировать QR-коды из приложения камеры, которое откроет для вас нужное приложение.
Через три месяца…
Это когда выйдет iOS 11.
Apple пообещала публичные бета-версии iOS 11 в конце этого месяца, и существенный характер обновления означает, что неплохо было бы познакомиться с ним до того, как оно поступит к пользователям по беспроводной сети.
узнайте, что изменилось и почему, на примерах новых API из iOS SDK
Пол Хадсон 20 июня 2016 @twostraws
iOS 11 была анонсирована на WWDC 2017 и представляет огромный набор мощных функций, таких как Core ML, ARKit, Vision, PDFKit, MusicKit, перетаскивание и другие. Я попытался обобщить ключевые изменения ниже, чтобы вы могли сразу приступить к ним, предоставляя код там, где это возможно.
Предупреждение: Некоторые из этих функций не для слабонервных. Я предоставил как можно больше кода, чтобы помочь вам начать работу с рабочими приложениями, но в конечном итоге большая часть iOS 11 включает в себя сложные функции, которых вы просто не можете избежать.
Прежде чем продолжить, вам может быть полезно предварительно прочитать эти статьи:
Возможно, вы захотите купить мою новую книгу: «Практическая iOS 11». Вы получите семь полных проектов по кодированию в форме учебных пособий, а также дополнительные технические проекты, в которых подробно рассматриваются новые технологии — это самый быстрый способ освоить iOS 11!
Перетаскивание
Перетаскивание — это то, что мы всегда считали само собой разумеющимся в операционных системах для настольных ПК, но его отсутствие в iOS действительно сдерживало многозадачность — то есть до iOS 11. В iOS 11, и особенно на iPad, многозадачность стала чрезмерной, и перетаскивание стало огромной частью этого: вы можете перемещать контент внутри приложений или между приложениями, вы можете использовать другую руку для управления приложениями во время перетаскивания, и вы можно даже использовать новую док-станцию для активации других приложений во время перетаскивания.
Примечание. На iPhone перетаскивание ограничено одним приложением — вы не можете перетаскивать контент в другие приложения.
К счастью, и UITableView
, и UICollectionView
имеют некоторую встроенную поддержку перетаскивания, но для их работы еще нужно написать изрядное количество кода.Вы также можете добавить поддержку перетаскивания для других компонентов, и, как вы увидите, на самом деле это требует меньше усилий.
Давайте посмотрим, как реализовать простое перетаскивание, позволяющее копировать строки между двумя таблицами. Во-первых, нам нужно базовое приложение для работы, поэтому мы собираемся написать код для создания двух табличных представлений, заполненных примерами данных, которые мы можем скопировать.
Создайте новый шаблон приложения для одного просмотра в Xcode, затем откройте ViewController.swift для редактирования.
Теперь нам нужно поместить туда два табличных представления, оба заполненные фиктивными данными.Я не буду здесь использовать IB, потому что проще написать все в коде. При этом я , а не , собираюсь подробно объяснять этот код, потому что это просто существующий код iOS, и я не хочу тратить ваше время.
Этот код:
- Создайте два табличных представления и создайте массив из двух строк, заполненных «левым» и «правым».
- Настройте оба табличных представления для использования контроллера представления в качестве источника данных, дайте им жестко запрограммированные фреймы, зарегистрируйте повторно используемую ячейку, а затем добавьте их в представление.
- Реализуйте
numberOfRowsInSection
, чтобы каждое табличное представление имело правильное количество элементов на основе его строкового массива. - Реализуйте
cellForRowAt
, чтобы исключить из очереди и затем в ячейке отобразить правильный элемент из одного из двух массивов строк в зависимости от того, какая это таблица.
Опять же, это весь код до iOS 11, поэтому для вас в этом нет ничего нового. Замените содержимое ViewController.swift на это:
импортный УИКит
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var leftTableView = UITableView ()
var rightTableView = UITableView ()
var leftItems = [String] (повторение: "Left", count: 20)
var rightItems = [String] (повторение: «Вправо», количество: 20)
переопределить функцию viewDidLoad () {
супер.viewDidLoad ()
leftTableView.dataSource = self
rightTableView.dataSource = себя
leftTableView.frame = CGRect (x: 0, y: 40, ширина: 150, высота: 400)
rightTableView.frame = CGRect (x: 150, y: 40, ширина: 150, высота: 400)
leftTableView.register (UITableViewCell.self, forCellReuseIdentifier: "Ячейка")
rightTableView.register (UITableViewCell.self, forCellReuseIdentifier: "Ячейка")
view.addSubview (leftTableView)
Посмотреть.addSubview (rightTableView)
}
func tableView (_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == leftTableView {
вернуть leftItems.count
} еще {
вернуть rightItems.count
}
}
func tableView (_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell (withIdentifier: "Cell", для: indexPath)
if tableView == leftTableView {
клетка.textLabel? .text = leftItems [indexPath.row]
} еще {
cell.textLabel? .text = rightItems [indexPath.row]
}
возвратная ячейка
}
}
ОК: теперь о новых штуках. Если вы запустите приложение, вы увидите, что оно дает нам два бок о бок табличных представления, заполненных элементами. Что мы хотим сделать, так это позволить пользователю взять элемент из одной таблицы и скопировать его в другую в любом направлении.
Первый шаг — указать обоим табличным представлениям использовать текущий контроллер представления в качестве их делегата перетаскивания, а затем включить взаимодействие перетаскивания для них обоих.Добавьте этот код в viewDidLoad ()
:
leftTableView.dragDelegate = себя
leftTableView.dropDelegate = себя
rightTableView.dragDelegate = себя
rightTableView.dropDelegate = себя
leftTableView.dragInteractionEnabled = true
rightTableView.dragInteractionEnabled = true
Как только вы это сделаете, Xcode выдаст несколько предупреждений, потому что наш текущий класс контроллера представления не соответствует протоколам UITableViewDragDelegate
или UITableViewDropDelegate
.Это легко исправить, добавив эти два протокола в наш класс — прокрутите вверх и измените определение класса на это:
класс ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITableViewDragDelegate, UITableViewDropDelegate {
Это, в свою очередь, создает другую проблему: мы говорим, что соответствуем этим двум новым протоколам, но не реализуем их требуемые методы. Раньше это было реальным перетаскиванием (извините, не извините), чтобы исправить, но Xcode 9 может автоматически выполнять необходимые методы для протоколов — щелкните цифру «2» в выделенной красным строке кода, и вы должны увидеть более подробное объяснение.Нажмите «Исправить», чтобы Xcode вставил для нас два недостающих метода — вы должны увидеть это в своем классе:
func tableView (_ tableView: UITableView, сеанс itemsForBeginning: UIDragSession, в indexPath: IndexPath) -> [UIDragItem] {
код
}
func tableView (_ tableView: UITableView, performDropWith координатор: UITableViewDropCoordinator) {
код
}
По крайней мере, в этой начальной бета-версии Xcode всегда вставляет новые заглушки методов в начало вашего класса, и если вы похожи на меня, это заставит ваш глаз подергиваться — не стесняйтесь переместить их в более разумное место, прежде чем продолжить!
Метод itemsForBeginning
самый простой, так что давайте начнем с него.Он вызывается, когда пользователь инициировал операцию перетаскивания в ячейке представления таблицы, удерживая палец, и должен вернуть массив элементов перетаскивания. Если вы вернете пустой массив , вы фактически откажетесь от перетаскивания.
Мы собираемся дать этому методу четыре строки кода:
- Выясните, какая строка копируется. Мы можем сделать это с помощью простого троичного представления: если рассматриваемое табличное представление является левым табличным представлением, тогда читать из
leftItems
, в противном случае читать изrightItems
. - Попытка преобразовать строку в объект
Data
, чтобы ее можно было передать с помощью перетаскивания. - Поместите эти данные в
NSItemProvider
, пометив их как содержащие текстовую строку, чтобы другие приложения знали, что с ними делать. - Наконец, поместите этого поставщика элементов в UIDragItem
, чтобы его можно было использовать для перетаскивания с помощью UIKit.
Чтобы пометить данные элемента как обычный текст, нам нужно импортировать платформу MobileCoreServices, поэтому добавьте эту строку кода в верхнюю часть ViewController.swift:
импорт MobileCoreServices
Теперь замените заглушку метода itemsForBeginning
на это:
func tableView (_ tableView: UITableView, сеанс itemsForBeginning: UIDragSession, в indexPath: IndexPath) -> [UIDragItem] {
пусть строка = tableView == leftTableView? leftItems [indexPath.row]: rightItems [indexPath.row]
охранник let data = string.data (с использованием: .utf8) else {return []}
let itemProvider = NSItemProvider (элемент: данные как NSData, typeIdentifier: kUTTypePlainText как String)
return [UIDragItem (itemProvider: itemProvider)]
}
Теперь нам просто нужно заполнить метод performDropWith
.Я говорю «просто», но на самом деле это довольно сложно, потому что есть две возможные сложности. Во-первых, мы можем получать несколько строк одновременно, если кто-то перетаскивает множество вещей, поэтому нам нужно вставить их все разумно. Во-вторых, нам могут сказать, куда пользователь хочет вставить строки, но мы не можем - они могут просто перетащить строки на какое-то пустое место в таблице, поэтому нам нужно решить, что это значит для нас.
Чтобы решить эти две проблемы, нужно написать больше кода, чем вы могли ожидать, но я постараюсь провести вас через это шаг за шагом, чтобы облегчить задачу.
Во-первых, самое простое: выяснить, куда сбрасывать строки. Метод performDropWith
передает нам объект класса UITableViewDropCoordinator
, который имеет свойство destinationIndexPath
, сообщающее нам, куда пользователь хочет отбросить данные. Однако это необязательный : он будет равен нулю, если они перетащили свои данные через некоторые пустые ячейки в нашем табличном представлении, и если это произойдет, мы предположим, что они хотели оставить данные в конце таблицы.
Итак, начнем с добавления этого кода в метод performDropWith
:
пусть destinationIndexPath: IndexPath
if let indexPath =ordinator.destinationIndexPath {
destinationIndexPath = indexPath
} еще {
let section = tableView.numberOfSections - 1
let row = tableView.numberOfRows (inSection: раздел)
destinationIndexPath = IndexPath (строка: строка, раздел: раздел)
}
Как видите, он либо использует destinationIndexPath
координатора, если он существует, либо создает его, просматривая последнюю строку последнего раздела.
Следующий шаг - попросить координатора перетаскивания загрузить все объекты, которые он имеет для определенного класса, которым в нашем случае будет NSString
. (Нет, обычная строка
не работает.) Нам нужно отправить это закрытие кода для запуска, когда элементы будут готовы, и здесь начинается сложность: нам нужно вставить их все по одному под индексом назначения path, изменяя массивы leftItems
или rightItems
перед окончательным вызовом insertRows ()
в нашем табличном представлении, чтобы они отображались.
Итак, еще раз: мы только что написали код для определения пути индекса назначения для операции удаления. Но если мы получим нескольких элементов, то все, что у нас есть, это начальный путь индекса назначения
- путь для первого элемента. Второй элемент должен быть на одну строку ниже, третий элемент должен быть на две строки ниже и так далее. По мере того, как мы перемещаемся вниз по каждому элементу для копирования, мы собираемся создать новый индексный путь и спрятать его в массиве indexPaths
, чтобы мы могли сразу вызвать insertRows ()
в нашем табличном представлении.
Добавьте этот код в свой метод performDropWith
, под кодом, который мы только что написали:
// попытка загрузить строки из координатора перетаскивания
координатор.session.loadObjects (ofClass: NSString.self) {элементы в
// преобразовываем массив поставщика элементов в массив строк или выходим
охранник let strings = items as? [String] else {return}
// создаем пустой массив для отслеживания скопированных строк
var indexPaths = [IndexPath] ()
// перебираем все полученные строки
for (index, string) в строках.enumerated () {
// создаем индексный путь для этой новой строки, перемещая его вниз в зависимости от того, сколько мы уже вставили
пусть indexPath = IndexPath (строка: destinationIndexPath.row + index, section: destinationIndexPath.section)
// вставляем копию в правильный массив
if tableView == self.leftTableView {
self.leftItems.insert (строка, в: indexPath.row)
} еще {
self.rightItems.insert (строка, по адресу: indexPath.ряд)
}
// отслеживаем эту новую строку
indexPaths.append (indexPath)
}
// вставляем их все в таблицу сразу
tableView.insertRows (в: indexPaths, с: .automatic)
}
Вот и весь код готов - теперь вы сможете запустить приложение и перетащить строки между двумя представлениями таблицы, чтобы скопировать их. Да, потребовалось довольно много работы, но у меня для вас есть приятный сюрприз: проделанная вами работа позволила перетаскивать по всей системе: если вы попробуете использовать симулятор iPad, вы обнаружите, что можете перетаскивать текст из Apple News в табличное представление или, например, перетащите текст из табличного представления в строку URL-адреса в Safari.Отлично!
Прежде чем мы закончим с перетаскиванием, я хочу продемонстрировать еще одну вещь: как добавить поддержку перетаскивания для других представлений. На самом деле это проще, чем использование табличного представления, поэтому давайте быстро рассмотрим его.
Как и раньше, нам нужна простая обвязка, чтобы у нас было что-то, к чему мы можем добавить перетаскивание. На этот раз мы собираемся создать UIImageView
и отрендерить простой красный круг для его изображения. Вы можете сохранить существующий шаблон приложения для единого просмотра и просто заменить ViewController.swift с этим новым кодом:
импортный УИКит
class ViewController: UIViewController {
// создаем свойство для нашего изображения и определяем его размер
var imageView: UIImageView!
пусть размер = 512
переопределить функцию viewDidLoad () {
super.viewDidLoad ()
// создаем и добавляем представление изображения
imageView = UIImageView (кадр: CGRect (x: 50, y: 50, ширина: размер, высота: размер))
view.addSubview (изображение)
// визуализируем красный круг того же размера и используем его в представлении изображения
let renderer = UIGraphicsImageRenderer (размер: CGSize (ширина: размер, высота: размер))
imageView.image = renderer.image {ctx in
пусть прямоугольник = CGRect (x: 0, y: 0, ширина: размер, высота: размер)
ctx.cgContext.setFillColor (UIColor.red.cgColor)
ctx.cgContext.fillEllipse (in: прямоугольник)
}
}
}
Как и раньше, это весь старый код iOS, поэтому я не буду вдаваться в подробности. Если вы попробуете запустить это в симуляторе iPad, вы увидите большой красный кружок в контроллере представления - этого более чем достаточно для тестирования.
Перетаскивание пользовательских представлений выполняется с помощью нового класса UIDragInteraction
. Вы указываете ему, куда отправлять сообщения (в нашем случае мы будем использовать текущий контроллер представления), а затем прикрепляете его к любому представлению, которое должно быть интерактивным.
Важно: не забудьте включить взаимодействие с пользователем в рассматриваемом представлении, иначе вы будете чесать голову, когда что-то не работает.
Сначала добавьте эти три строки кода в конец viewDidLoad ()
сразу после предыдущего кода.Вы увидите, как Xcode жалуется, что наш контроллер представления не соответствует протоколу UIDragInteractionDelegate
, поэтому, пожалуйста, измените определение класса на это:
класс ViewController: UIViewController, UIDragInteractionDelegate {
Xcode будет жаловаться, потому что мы фактически не реализуем один требуемый метод протокола UIDragInteractionDelegate
, поэтому повторите то, что вы делали ранее - щелкните маркер ошибки в плохой строке, затем выберите «Исправить», чтобы вставить этот метод-заглушку:
func dragInteraction (_ интерактивность: UIDragInteraction, сеанс itemsForBeginning: UIDragSession) -> [UIDragItem] {
код
}
Это похоже на метод itemsForBeginning
, который мы реализовали для наших табличных представлений ранее: нам нужно вернуть любое изображение, которым мы хотим поделиться, когда пользователь начинает перетаскивать наше представление изображения.
Код для этого хорош и прост: мы вытащим изображение из представления изображения, используя guard
, чтобы избежать проблем, затем обернем его сначала в NSItemProvider
, затем в UIDragItem
перед отправкой обратно.
Замените заглушку itemsForBeginning
на эту:
func dragInteraction (_ интерактивность: UIDragInteraction, сеанс itemsForBeginning: UIDragSession) -> [UIDragItem] {
охранник let image = imageView.изображение еще {return []}
let provider = NSItemProvider (объект: изображение)
let item = UIDragItem (itemProvider: поставщик)
вернуть изделие]
}
И все! Попробуйте использовать многозадачность iPad, чтобы разместить приложение «Фото» в правой части экрана - вы сможете перетащить изображение из своего приложения в «Фото», чтобы скопировать его.
Дополненная реальность
Дополненная реальность (AR) существует уже некоторое время, но с iOS 11 Apple сделала кое-что весьма примечательное: они создали расширенную реализацию, которая легко интегрируется с существующими технологиями разработки игр.Это означает, что вы можете взять свои существующие навыки SpriteKit или SceneKit и интегрировать их с AR без особых усилий, что действительно является заманчивой перспективой.
Xcode поставляется с отличным шаблоном ARKit прямо из коробки, поэтому я рекомендую вам попробовать - вы будете удивлены, насколько это просто!
Я хочу кратко пройтись по шаблону, чтобы вы могли увидеть, как все сочетается друг с другом. Сначала создайте новый проект Xcode, используя шаблон приложения дополненной реальности, затем выберите SpriteKit для Content Technology.Да, SpriteKit - это 2D-фреймворк, но он по-прежнему отлично работает в ARKit, потому что он рекламирует ваши спрайты, поэтому кажется, что они крутятся и вращаются в 3D.
Если вы откроете Main.storyboard, вы увидите, что шаблон ARKit работает немного иначе, чем обычный шаблон SpriteKit: он использует новый объект ARSKView
Interface Builder, который объединяет два мира ARKit и SpriteKit. Это связано с выходом в ViewController.swift, который устанавливает отслеживание AR в viewWillAppear ()
и приостанавливает его в viewWillDisappear ()
.
Однако настоящая работа происходит в двух других местах: метод touchesBegan ()
в Scene.swift и метод nodeFor
в ViewController.swift. В обычном SpriteKit вы создаете узлы и добавляете их в свою сцену напрямую, но с ARKit вы создаете якорей - заполнители, которые имеют позицию в сцене и идентификатор, но не содержат фактического содержимого. Затем они при необходимости преобразуются в узлы SpriteKit с использованием метода nodeFor
.Если вы когда-либо использовали MKMapView
, это похоже на то, как работают аннотации и булавки: аннотации - это данные вашей модели, а булавки - это представления.
Внутри метода touchesBegan ()
Scene.swift вы увидите код для извлечения текущего кадра из ARKit, а затем вычислите, где разместить нового врага. Это делается с помощью умножения матриц: если вы создаете единичную матрицу (что-то, представляющее позицию X: 0, Y: 0, Z: 0), то переместите ее координату Z назад на 0,2 (эквивалент 0.2 метра), вы можете умножить это на камеру текущей сцены, чтобы вернуться в направлении, указанном пользователем.
Итак, если пользователь указывает вперед, якорь будет размещен впереди, но если он указывает вверх, то якорь будет размещен выше. И как только якорь помещен туда, он остается там: ARKit будет перемещать, вращать и деформировать его автоматически, чтобы обеспечить правильное выравнивание при перемещении устройства игрока.
Все это делается с помощью этих трех строк кода:
var translation = matrix_identity_float4x4
перевод.columns.3.z = -0,2
let transform = simd_mul (currentFrame.camera.transform, перевод)
После вычисления преобразования оно преобразуется в привязку и добавляется в сеанс следующим образом:
let anchor = ARAnchor (преобразование: преобразование)
sceneView.session.add (привязка: привязка)
Наконец, будет вызван метод nodeFor
в ViewController.swift. Это происходит потому, что этот контроллер представления был настроен как делегат ARSKView
, поэтому он отвечает за преобразование привязок в узлы по мере необходимости.Вам не нужно беспокоиться о позиционировании этих узлов: помните, якоря уже размещаются в точных координатах в реальном пространстве, и ARKit отвечает за отображение своего положения и преобразование в ваши узлы SpriteKit.
В итоге метод nodeFor
прост:
func view (_ view: ARSKView, nodeFor anchor: ARAnchor) -> SKNode? {
// Создаем и настраиваем узел для привязки, добавленной к сеансу представления.
let labelNode = SKLabelNode (текст: «Враг»)
labelNode.horizontalAlignmentMode = .center
labelNode.verticalAlignmentMode = .center
return labelNode;
}
Если вам интересно, якоря ARKit имеют свойство идентификатора
, которое позволяет вам узнать, какой тип узла создать. В шаблоне Xcode все якоря - это космические пришельцы, но в ваших собственных проектах вы почти наверняка захотите идентифицировать вещи более однозначно.
И все! Конечный результат удивительно эффективен, учитывая, как мало для этого требуется кода - ARKit должен стать большим хитом.
антракт
Если вам нравится эта статья, возможно, вас заинтересует новая книга, над которой я работаю, в которой изучается iOS 11 с использованием практических руководств. Вы будете создавать реальные проекты, основанные на Core ML, PDFView, ARKit, перетаскивании и многом другом - это самый быстрый способ изучить iOS 11!
PDF-рендеринг
macOS всегда имела первоклассную поддержку для рендеринга PDF-файлов, и, поскольку OS X 10.4 получила преимущества от фреймворка под названием PDFKit, который обеспечивает рендеринг PDF, манипулирование, аннотации и многое другое без какого-либо кода.
Что ж, начиная с iOS 11, которая полностью доступна на iOS 11: вы можете использовать класс PDFView
для отображения PDF-файлов, позволяя пользователям перемещаться по документу, выбирать и делиться контентом, увеличивать и уменьшать масштаб и т. Д. Кроме того, вы можете использовать отдельные классы, такие как PDFDocument
, PDFPage
и PDFAnnotation
, чтобы создать собственный пользовательский PDF-ридер.
Как и в случае с перетаскиванием, мы можем создать простое приложение-контейнер, чтобы продемонстрировать, насколько прост в использовании PDFKit.Вы можете повторно использовать тот же проект приложения единого просмотра, который вы создали ранее, если хотите, но вам нужно добавить PDF в свой проект, чтобы PDFKit было что читать.
Чтобы написать этот код, вам нужно выучить два новых класса, оба тривиальные. Первый - это PDFView
, который выполняет всю тяжелую работу по рендерингу PDF-файлов, реагируя на жесты прокрутки и масштабирования, выделяя текст и т. Д. Это обычный подкласс UIView
в iOS, поэтому вы можете создать его без каких-либо параметров, а затем расположить его с помощью Auto Layout в соответствии с вашими потребностями.Второй новый класс - это PDFDocument
, который загружает PDF-файл из URL-адреса, готовый для визуализации или обработки в другом месте.
Замените весь код в ViewController.swift следующим:
импорт PDFKit
импорт UIKit
class ViewController: UIViewController {
// сохраняем наш PDFView в свойстве, чтобы мы могли манипулировать им позже
var pdfView: PDFView!
переопределить функцию viewDidLoad () {
super.viewDidLoad ()
// создаем и добавляем представление PDF
pdfView = PDFView ()
pdfView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview (pdfView)
// заставляем его занимать весь экран
pdfView.leadingAnchor.constraint (equalTo: view.leadingAnchor) .isActive = true
pdfView.trailingAnchor.constraint (equalTo: view.trailingAnchor) .isActive = true
pdfView.topAnchor.constraint (equalTo: view.topAnchor) .isActive = true
pdfView.bottomAnchor.constraint (equalTo: view.bottomAnchor) .isActive = true
// загружаем наш пример PDF и сразу же заставляем его отображаться
let url = Bundle.main.url (forResource: "your-pdf-name-here", withExtension: "pdf")!
pdfView.document = PDFDocument (url: url)
}
}
Если вы запустите приложение, вы уже должны увидеть, что вы можете прокручивать страницы по вертикали, используя механизм непрерывной прокрутки. Вы также можете ущипнуть, чтобы увеличить, если вы тестируете на реальном устройстве - и вы увидите, что PDF-файл повторно отрисовывается с более высоким разрешением, как и вы. Если вы хотите изменить способ компоновки PDF-файла, вы можете попробовать изменить свойства displayMode
, displayDirection
и displayAsBook
.
Например, вы можете позиционировать страницы как двухстраничные развороты с отдельной обложкой, например:
pdfView.displayMode = .twoUpContinuous
pdfView.displaysAsBook = true
Класс PDFView
поставляется с рядом полезных методов, позволяющих пользователям перемещаться и управлять PDF-файлом. Чтобы попробовать это, мы собираемся добавить несколько кнопок панели навигации к нашему контроллеру представления, потому что это самый простой способ добавить интерактивности.
Это занимает три шага, начиная с добавления контроллера навигации, чтобы у нас была фактическая панель навигации, с которой можно работать.Итак, откройте Main.storyboard, выберите View Controller Scene в структуре документа, затем перейдите в меню Editor и выберите Embed In> Navigation Controller.
Затем добавьте этот код в viewDidLoad ()
в ViewController.swift
let printSelectionBtn = UIBarButtonItem (заголовок: «Выбор», стиль: .plain, цель: self, действие: #selector (printSelection))
let firstPageBtn = UIBarButtonItem (заголовок: «Первый», стиль: .plain, цель: self, действие: #selector (firstPage))
let lastPageBtn = UIBarButtonItem (заголовок: "Последний", стиль:.простой, цель: сам, действие: #selector (lastPage))
navigationItem.rightBarButtonItems = [printSelectionBtn, firstPageBtn, lastPageBtn]
Это настраивает три кнопки для добавления некоторых основных функций. Наконец, нам просто нужно написать три метода, вызываемых этими кнопками, поэтому добавьте эти методы в класс ViewController
:
func printSelection () {
print (pdfView.currentSelection ?? "Без выбора")
}
func firstPage () {
pdfView.goToFirstPage (ноль)
}
func lastPage () {
pdfView.goToLastPage (ноль)
}
Итак, если бы это был Swift 3, мы бы закончили. Но начиная с Swift 4 вы начнете видеть ошибку «Аргумент '#selector' относится к методу экземпляра 'firstPage ()', который не предоставляется Objective-C», вместе с предлагаемым исправлением «Добавить '@objc' чтобы предоставить этот метод экземпляра Objective-C ". Это означает, что рассматриваемый метод Swift не виден Objective-C, что имеет значение, потому что UIBarButtonItem
является кодом Objective-C.
Хотя добавление @objc
к отдельным методам является рабочим решением, я ожидаю, что большинство людей просто пожмут плечами и поставят @objcMembers
перед своим классом - который автоматически подвергает все в классе Objective-C, как и Swift 3 привыкший. Итак, измените определение класса на это:
@objcMembers
класс ViewController: UIViewController {
Теперь он должен скомпилироваться правильно, и вы сразу увидите, что первая и последняя страницы работают.Что касается кнопки выбора, вам просто нужно выделить текст в PDF-файле, прежде чем щелкнуть по нему - это работает так же, как выделение текста в iBooks.
Доступно чтение NFC
В iPhone 7 появилась аппаратная поддержка NFC, а с iOS 11 она доступна всем нам для использования в наших приложениях: теперь вы можете написать код для обнаружения ближайших тегов NFC NDEF, и это на удивление легко. Чтобы опробовать его, создайте новый проект iOS, используя шаблон приложения единого представления в Xcode, затем перейдите на вкладку «Возможности» в настройках проекта и включите чтение тегов связи ближнего поля.
При использовании NFC вам также необходимо предоставить объяснение пользователю, чтобы он знал, что происходит. Для этого откройте файл Info.plist, затем щелкните правой кнопкой мыши пустое пространство и выберите «Добавить строку». Дайте ему имя ключа «Конфиденциальность - описание использования сканирования NFC» и значение «SwiftyNFC».
Для выполнения фактического сканирования вам необходимо создать свойство для хранения объекта NFCNDEFReaderSession
, который представляет текущий сеанс сканирования NFC, затем создать его и попросить его начать сканирование.
Когда вы создаете сеанс чтения, вам необходимо предоставить ему три части данных: делегат, которому он может отправлять сообщения, очередь, которую он должен использовать для отправки этих сообщений, и должен ли он останавливать сканирование, как только он обнаруживает тег NFC. . Мы собираемся использовать self,
для делегата, DispatchQueue.main
для очереди и false, чтобы остановить сканирование после обнаружения тега, поэтому сканирование продолжается до тех пор, пока не истечет 60-секундный тайм-аут.
Откройте ViewController.swift, добавьте импорт для CoreNFC
, затем добавьте это свойство в класс ViewController
:
сеанс var: NFCNDEFReaderSession!
Затем добавьте эти две строки кода в viewDidLoad ()
:
сеанс = NFCNDEFReaderSession (делегат: сам, очередь: DispatchQueue.main, invalidateAfterFirstRead: false)
session.begin ()
Класс ViewController
в настоящее время не соответствует протоколу NFCNDEFReaderSessionDelegate
, поэтому вам необходимо изменить определение класса, чтобы включить его:
класс ViewController: UIViewController, NFCNDEFReaderSessionDelegate {
Как обычно, Xcode будет жаловаться, что вам не хватает некоторых необходимых методов, поэтому используйте его рекомендованное исправление для вставки этих двух заглушек методов:
func readerSession (_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) {
код
}
func readerSession (_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) {
код
}
Оба эти метода достаточно просты, но особенно важна обработка ошибок - мы просто собираемся распечатать ошибку в консоли Xcode.Заполните метод didInvalidateWithError
следующим образом:
func readerSession (_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) {
печать (error.localizedDescription)
}
Теперь для сделалDetectNDEFs
методом. При его вызове вы получите массив обнаруженных сообщений, каждое из которых может содержать одну или несколько записей, описывающих один фрагмент данных. Например, вы могли видеть, что NFC используется для запуска приложения Google Cardboard: устройства Cardboard имеют простой тег NFC, содержащий абсолютный URL-адрес «cardboard: // V1.0,0 ", который обнаруживается устройствами и приводит к отображению приложения.
То, что вы делаете с данными NFC, зависит от вас, поэтому мы просто распечатаем их. Измените свой метод didDetectNDEFs
на это:
func readerSession (_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) {
для сообщения в messages {
для записи в message.records {
if let string = String (data: record.payload, encoding: .ascii) {
печать (строка)
}
}
}
}
Вот и весь код готов, так что запускайте приложение! Если все сработало, вы сразу увидите какой-то системный пользовательский интерфейс, предлагающий пользователю поднести свое устройство к чему-то для сканирования.Как видите, гнусные приложения просто не могут злоупотреблять сканированием NFC - мы не только не контролируем пользовательский интерфейс, но и отключаемся через 60 секунд, чтобы не расходовать заряд батареи.
Машинное обучение и зрение
Машинное обучение - это модное слово в истории , которое позволяет компьютерам адаптироваться к новым данным на основе правил обработки, которым они подвергались в прошлом. Например, "На этой картинке есть гитара?" На этот вопрос сложно ответить, если у вас есть только изображение гитары и пустой файл Swift, но если вы построите обученную модель из множества образцов входных изображений гитары, то вы сможете эффективно обучить компьютеры обнаруживать новые изображения гитар.
Это может показаться скучным, но на самом деле это основа ряда огромных технологий в iOS 11: Siri, Camera и Quick Type все используют его, чтобы помочь лучше понять мир, в котором вы их используете. IOS 11 также представляет новую структуру Vision, которая представляет собой слегка туманную комбинацию вещей из Core Image, функций машинного обучения и всех новых технологий.
В iOS 11 все это обеспечивается новой структурой машинного обучения под названием Core ML, которая предназначена для поддержки широкого спектра моделей, а не только для изучения изображений.Хотите верьте, хотите нет, но писать код для Core ML практически нетрудно, но это только одна часть истории.
Видите ли, Core ML требует для работы обученных моделей: результат обучения алгоритма на различных данных. Эти модели могут варьироваться от нескольких килобайт до сотен мегабайт и более и, очевидно, требуют определенного опыта для производства, особенно если вы работаете с распознаванием изображений. К счастью, Apple предоставила несколько моделей, которые мы можем использовать, чтобы быстро приступить к работе, поэтому, если вы просто хотите испытать Core ML, это действительно легко.
К сожалению, даже это всего лишь другая часть истории: есть третья часть, которая в корне зла. Видите ли, модели Core ML автоматически генерируют для нас код, который принимает некоторые входные данные и возвращает некоторые выходные данные - эта часть прекрасна. К сожалению, входные данные, которые им нужны при обработке изображений, не являются ни UIImage
, ни CGImage
, ни даже CIImage
.
Вместо этого Apple решила заставить нас использовать CVPixelBuffer
, что почти так же полезно в моем коде, как дикобраз на митапе для больных гемофилией.Не существует хорошего и эффективного способа конвертировать UIImage
в CVPixelBuffer
, и я уверен, что говорю это, потому что я потратил несколько часов, пытаясь его создать. К счастью для меня, Крис Чеслак был достаточно любезен, чтобы поделиться со мной своим кодом, и он сделал его доступным в рамках WTFPL, так что вы тоже можете его использовать.
Давайте сейчас попробуем Core ML. Создайте новый проект приложения для единого просмотра (или повторно используйте существующий), затем добавьте изображение чего-нибудь - я добавил изображение международного аэропорта Вашингтон Даллес из Википедии.Во избежание опечаток назовите изображение в своем проекте "test.jpg".
Теперь, когда у нас есть тестовые данные, нам нужно добавить обученную модель. Возможно, он раньше не видел нашу точную фотографию, но для того, чтобы попытаться распознать аэропорт, ему необходимо было увидеть похожие изображения. Apple предоставляет набор предварительно сконфигурированных моделей на https://developer.apple.com/machine-learning - перейдите туда сейчас и загрузите модель для «Places205-GoogLeNet». Это всего 25 МБ, поэтому он не займет много места на устройствах ваших пользователей.
После того, как вы загрузили модель, перетащите ее в свой проект Xcode, затем выберите ее, чтобы вы могли увидеть средство просмотра моделей Core ML. Вы увидите, что это классификатор нейронной сети, созданный в Массачусетском технологическом институте и доступный по лицензии Creative Commons. Ниже вы увидите, что у него есть «sceneImage» для входных данных и «sceneLabelProbs» и «sceneLabel» для его вывода - изображение для ввода и некоторый текст, описывающий, что он думает об изображении для вывода.
Вы также увидите «Класс модели» и «Источник, сгенерированный Swift» - Xcode генерирует для нас класс, который завершает все это всего в нескольких строках кода, что весьма примечательно, как вы вскоре увидите.
На данный момент у нас есть изображение, которое нужно распознать, и обученная модель, которая может его изучить. Все, что нам нужно сделать сейчас, это соединить их вместе: загрузить изображение, подготовить его для модели, а затем запросить у модели прогноз.
Чтобы облегчить понимание этого кода, я разбил его на несколько частей. Для начала откройте ViewController.swift и измените его на это:
импортный УИКит
class ViewController: UIViewController {
переопределить функцию viewDidLoad () {
супер.viewDidLoad ()
let image = UIImage (named: "test.jpg")!
// 1
// 2
// 3
}
}
Это просто загружает наше тестовое изображение, готовое к обработке. Следующие шаги - заполнить эти три комментария один за другим, начиная с // 1
.
Модели Core ML на основе изображений ожидают получения изображений точного размера, независимо от размера, с которым они были обучены. В случае модели GoogLeNetPlaces это 224x224, но другие модели имеют другие размеры, и Core ML сообщит вам, если вы отправите что-то с неправильным разрешением.
Итак, первое, что нам нужно, это уменьшить наше изображение так, чтобы оно было точно 224x224, независимо от того, используем ли мы устройство Retina или другое. Это можно сделать с помощью UIGraphicsBeginImageContextWithOptions ()
, задав масштаб 1,0. Замените комментарий // 1
следующим:
пусть modelSize = 224
UIGraphicsBeginImageContextWithOptions (CGSize (ширина: размер модели, высота: размер модели), истина, 1.0)
image.draw (in: CGRect (x: 0, y: 0, width: modelSize, height: modelSize))
let newImage = UIGraphicsGetImageFromCurrentImageContext ()!
UIGraphicsEndImageContext ()
Это дает нам новую константу под названием newImage
, которая представляет собой UIImage
с правильным размером для нашей модели.
Теперь о второй части, которая представляет собой поистине жестокое преобразование между UIImage
и CVPixelBuffer
. Это бессмысленно сложно, поэтому я даже не буду пытаться объяснять все различные шаги, и я не рекомендую вам делать что-либо, кроме копирования и вставки этого кода. Замените комментарий // 2
следующим:
let attrs = [kCVPixelBufferCGImageCompatibilityKey: kCFBooleanTrue, kCVPixelBufferCGBitmapContextCompatibilityKey: kCFBooleanTrue] как CFDictionary
var pixelBuffer: CVPixelBuffer?
let status = CVPixelBufferCreate (kCFAllocatorDefault, Int (newImage.size.width), Int (newImage.size.height), kCVPixelFormatType_32ARGB, attrs и pixelBuffer)
охранник (status == kCVReturnSuccess) else {return}
CVPixelBufferLockBaseAddress (pixelBuffer !, CVPixelBufferLockFlags (rawValue: 0))
пусть pixelData = CVPixelBufferGetBaseAddress (pixelBuffer!)
пусть rgbColorSpace = CGColorSpaceCreateDeviceRGB ()
let context = CGContext (data: pixelData, width: Int (newImage.size.width), height: Int (newImage.size.height), bitsPerComponent: 8, bytesPerRow: CVPixelBufferGetBytesPerRow (pixelBufferIn!), space: rgbColorfoSphalGFO, bitmap .noneSkipFirst.rawValue)
контекст? .translateBy (x: 0, y: newImage.size.height)
контекст? .scaleBy (x: 1.0, y: -1.0)
UIGraphicsPushContext (контекст!)
newImage.draw (in: CGRect (x: 0, y: 0, ширина: newImage.size.width, высота: newImage.size.height))
UIGraphicsPopContext ()
CVPixelBufferUnlockBaseAddress (pixelBuffer !, CVPixelBufferLockFlags (rawValue: 0))
Возможно, вам захочется обернуть всю эту тарабарщину во вспомогательную функцию, если вы собираетесь ее часто использовать, но что бы вы ни делали, пожалуйста, не пытайтесь запомнить ее.
Теперь о важной, интересной и тривиальной части: на самом деле с использованием Core ML. Это всего лишь три строчки кода, что, откровенно говоря, криминально легко. Как я уже сказал, Xcode автоматически генерирует класс Swift из модели Core ML, поэтому мы можем сразу же создать его экземпляр как GoogLeNetPlaces
.
Затем мы можем передать наш пиксельный буфер в его метод prediction ()
, который либо вернет прогноз, либо выдаст ошибку. На практике вам, вероятно, будет проще использовать try?
, чтобы вернуть значение или ноль.Наконец, мы просто распечатаем прогноз, чтобы вы могли увидеть, как обстоят дела с Core ML.
Замените комментарий // 3
следующим:
let model = GoogLeNetPlaces ()
охранник давай предсказание = попробуй? model.prediction (sceneImage: pixelBuffer!) else {return}
print (prediction.sceneLabel)
Вы не поверите, но это все, что нужно для использования Core ML в коде; все остальное было настроено на эти три простых строчки. То, что вы распечатываете, зависит от того, что вы вставляете, и вашей модели, но GoogLeNetPlaces правильно определил мое изображение как терминал аэропорта и сделал это полностью на устройстве - не было необходимости отправлять изображение на сервер для обработки, поэтому вы получаете отличную конфиденциальность прямо из коробки.
Множество других улучшений…
В iOS 11 есть много других улучшений - вот мои любимые:
- Metal 2 предназначен для повышения графической производительности всей системы. Я не приводил здесь примеры кода, потому что это довольно специализированная тема - большинство людей будут просто счастливы увидеть, как их приложения SpriteKit, SceneKit и Unity становятся быстрее без дополнительной работы.
- Ячейки табличного представления теперь изменяются автоматически. Ранее такое поведение запускалось с использованием
UITableViewAutomaticDimension
для высоты строки, но теперь в нем нет необходимости. Табличные представления - также получили новый основанный на закрытии метод
performBatchUpdates ()
, который позволяет одновременно анимировать несколько вставок, удалений и перемещений - и даже запускает закрытие завершения после завершения анимации. - Новые тяжелые черные заголовки, впервые появившиеся в Apple Music, теперь распространились по системе и доступны для наших собственных приложений с одним небольшим изменением: установите флажок «Предпочитает большие заголовки» для панели навигации в IB или используйте
navigationController? .NavigationBar .prefersLargeTitles = true
, если вы предпочитаете делать это в коде. - Свойство
topLayoutGuide
устарело и заменено наsafeAreaLayoutGuide
. Это обеспечивает края для всех сторон, а не только сверху и снизу, но вполне может предвещать будущие iPhone с непрямоугольной компоновкой - полноэкранный iPhone 8 со встроенной камерой, кто-нибудь? Представления стека - получили метод
setCustomSpacing (_: after :)
, который позволяет добавлять пробелы в представлении стека в любом месте, а не равномерно.
А еще есть Xcode
Xcode 9 - самый захватывающий выпуск Xcode, который я когда-либо видел - он наполнен невероятными новыми функциями, которые заставят пересмотреть свое мнение даже самый закоренелый жалобщик на Xcode.
Вот основные особенности, которые привлекли мое внимание:
- Рефакторинг для Swift и Objective-C встроен прямо в редактор, что означает, что вы можете вносить радикальные изменения в свой код (например, переименовывать метод) всего за несколько щелчков мышью.
- Беспроводная отладка теперь доступна для iOS и tvOS.Чтобы включить эту функцию, подключите устройство через USB, затем перейдите в меню «Окно» и выберите «Устройства и симуляторы». Выберите свое устройство, затем отметьте опцию «Подключиться через сеть». Не удивляйтесь, если это не сработает с первого раза - это всего лишь бета 1!
- Редактор исходного кода был переписан на Swift, что привело к необычайному увеличению скорости прокрутки и поиска, а также к полезным функциям, таким как выделение области действия при удерживании клавиши Ctrl.
- Теперь вы можете добавлять именованные цвета в каталоги ресурсов, что позволяет вам определять их один раз и использовать их повсюду с новым инициализатором
UIColor (с именем :)
. - По умолчанию включена новая проверка основного потока, которая автоматически предупреждает вас, когда обнаруживает любые вызовы методов UIKit, которые не выполняются в основном потоке - распространенный источник ошибок.
- Теперь вы можете запускать несколько симуляторов одновременно и даже свободно изменять их размер. Apple добавила дополнительный пользовательский интерфейс вокруг симуляторов, чтобы дать нам доступ к элементам управления оборудованием.
- Если вы не хотите сразу использовать Swift 4, есть новый параметр сборки «Swift Language Version», который позволяет вам выбрать либо Swift 4.0 или Swift 3.2. Оба используют один и тот же компилятор, но внутренне включают разные параметры.
Серьезно, мне жаль, что я не побывал на WWDC в этом году, просто чтобы обнять инженеров Xcode - это потрясающий выпуск, который устанавливает Xcode для постоянного величия.
Что теперь?
Теперь, когда вы познакомились с новинками iOS 11, вам стоит взглянуть на мою новую книгу: «Практическая iOS 11». Это книга, которая учит всем основным изменениям в iOS 11 с использованием практических проектов, так что вы можете получить чтобы ускориться как можно быстрее.
iOS 11: Важные дополнения UIKit. У знаменитого фреймворка Apple появились новые игрушки | Джордан Морган | Путеводитель по iOS для разработчиков
Крейг Федериги, которого приверженцы Apple называют в просторечии #HairForceOne, закрыл занавески для iOS 11 не менее 48 часов назад. Неудивительно, что у нас появились новые API-интерфейсы, и если в этом году iPhone получил хоть какую-то скромную любовь, то iPad вполне мог быть предложен.
Пока это свежо в моей памяти, вот лишь несколько изящных дополнений, которые привлекли мое внимание при просмотре различий, в произвольном порядке.
UIStackView
Любимый элемент управления получил всего одну небольшую настройку - но главное в том, что - это всего лишь , необходимая настройка. Я уже говорил, что представление стека является гибким, поскольку оно является сложным, но при всей его мощности и волшебстве AutoLayout было одно, что он не делал хорошо: переменный интервал между его упорядоченными подпредставлениями.
Теперь все изменилось с iOS 11. Фактически, Пит Штейнбергер из PSPDFKit спросил, какие дополнения UIKit были самыми популярными среди нас, и это была моя первая мысль:
Это легко сделать с помощью одного нового метода:
let view1 = UIView ()
let view2 = UIView ()
let view3 = UIView ()
let view4 = UIView () let horizontalStackView = UIStackView (распределенные подпредставления: [view1, view2, view3, view4])
horizontalStackView.spacing = 10 // Поместите еще 10 точек интервала после view3
horizontalStackView.setCustomSpacing (10, after: view3)
Я лично сталкивался с этим сценарием с нашим знакомым просмотром стека более чем достаточно раз, чтобы это немного раздражало, поскольку антитеза UIStackView реализует его только для того, чтобы обнаружить, что вам нужно полностью его разрушить или добавить неинтуитивное представление «спейсера» (которое должно было быть пережитком прошлого с появлением API), чтобы применить некоторые отступы.
Это также может быть позже запрошено и параметризовано, если вам понадобится анимировать его внутри или снаружи, чтобы освободить место для другого U.I. Соображения:
let currentPadding = horizontalStackView.customSpacing (after: view3)
UITableView
Во всяком случае, в сообществе были споры о том, следует ли отказываться от табличного представления вместо UITableViewFlowLayout, или что-то подобное. В iOS 11 Apple практически подтвердила, что рассматривает два элемента управления как отдельные, отдельные утилиты, которые должны занимать одинаковое место среди разработчиков.
Для начала, табличное представление теперь по своей сути предполагает, что вы хотите включить автоматическую высоту строки, что, по сути, делает это ненужным:
tv.EstimatedRowHeight = UITableViewAutomaticDimension
Это и благословение, и проклятие, хотя он действительно решает множество головных болей, он также вводит несколько собственных (пропущенные кадры, вычисления вставок контента, индикатор прокрутки, выполняющий всевозможные интерпретирующие танцы и т. д. ).
Следует отметить, что если такое поведение вам не нравится - и есть веские причины не хотеть этого, вы можете вернуться к каменному веку iOS 10, например:
tv.estimatedRowHeight = 0
Мы ' У ve также есть обновленный способ включения настраиваемых действий, когда пользователи проводят пальцем влево или вправо по ячейкам, или, точнее, когда они проводят пальцем от ведущей или конечной стороны.Эти контекстные действия действуют как более надежный API для существующего UITableViewRowAction, который был добавлен в iOS 8:
let itemNameRow = 0func tableView (_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration?
{
если indexPath.row == itemNameRow
{
let editAction = UIContextualAction (стиль: .normal, title: "Edit", обработчик: {(ac: UIContextualAction, view: UIView, success: (Bool) -> Void) in
// do edit // Обработчик сбрасывает контекст в нормальное состояние, true показывает визуальную индикацию завершения
success (true)
}) editAction.image = UIImage (named: "edit")
editAction.backgroundColor = .purple let copyAction = UIContextualAction (style: .normal, title: "Copy", обработчик: {(ac: UIContextualAction, view: UIView, success: (Bool) -> Void) in
// копируем
success (true)
}) return UISwipeActionsConfiguration (actions: [editAction, copyAction])
} return nil
}
Метод делегата ведет себя так же, как и конечные действия. Еще один приятный штрих - это свойство, которое можно использовать, чтобы разрешить выполнение действия по умолчанию, когда пользователь проводит пальцем влево или вправо, а-ля Mail при удалении электронной почты:
let contextualGroup = UISwipeActionsConfiguration (actions: [editAction, copyAction]) contextualGroup.выполняетFirstActionWithFullSwipe = truereturn contextualGroup
Значение по умолчанию здесь - истина, так что это скорее вопрос отключения его, если это не то, что вам нужно - хотя это, скорее всего, будет исключением из правила.
Чтобы не отставать, табличное представление украло одну уловку в салоне у своего младшего кузена, так как пакетные обновления теперь доступны и с ним:
let tv = UITableView () tv.performBatchUpdates ({() -> Void in
tv .insertRows / deleteRows / insertSections / removeSections
}, завершение: nil)
UIPasteConfiguration
Это изящное, и первоначально вызвало у меня интерес во время сеанса «Что нового в Cocoa Touch».Для обеих операций вставки и для поддержки доставки данных перетаскиванием каждый UIResponder теперь имеет свойство конфигурации вставки:
self.view.pasteConfiguration = UIPasteConfiguration ()
Этот класс в основном проверяет входящие данные от операции вставки или отбрасывания. , поскольку он сокращает все, чтобы принимать только те вещи, с которыми вы хотите работать, как указано предоставленными идентификаторами унифицированного типа:
// Означает, что этот класс уже знает, какие UTI ему нужны
UIPasteConfiguration (forAccepting: UIImage.self) // Или мы можем указать его на более детальном уровне.
UIPasteConfiguration (acceptTypeIdentifiers: ["public.video"])
Более того, эти UTI являются изменяемыми, поэтому, если поток вашего приложения позволяет это, вы можете изменить их на лету:
let pasteConfig = UIPasteConfiguration (acceptTypeIdentifiers: ["public.video"]) // Принесите больше данных
pasteConfig.addAcceptableTypeIdentifiers (["public.image, public.item"]) // Или добавьте экземпляр кто уже использует NSItemProviderReading
pasteConfig.addTypeIdentifiers (forAccepting: NSURL.self)
Теперь мы можем легко воздействовать на то, что система или, скорее, пользователь передает нам в результате удаления или вставки, поскольку в iOS 11 все UIResponder также соответствуют UIPasteConfigurationSupporting:
override func paste (itemProviders: [NSItemProvider])
{
// Действие по вставленным данным
}
Заключение
Приятно писать об iOS 11. Хотя всегда есть что знать и ждать, чтобы ее обнаружили , Я считаю, что мы дошли до этой точки самоуспокоения в разработке программного обеспечения - в конце концов, многие из нас работают с этими фреймворками изо дня в день для заработка или хобби.
И стрела, W.W.D.C. крутится вокруг, и пресловутые потоки кода снова затопляют нас множеством новых фреймворков, которые нужно освоить, и примерами кода, которые нужно пролить. Волнующие времена. Будь то новые «толстые» панели навигации, UIFontMetrics или API перетаскивания, есть еще много чего, что предстоит открыть.
Седло
Взлом iOS 11 | Блог ЭлкомСофт
В мире мобильной криминалистики физическое приобретение все еще актуально.Предоставляя значительно больше информации по сравнению с логическим извлечением, физическое получение может возвращать данные изолированного приложения (даже для приложений, которые отключили резервное копирование), загруженную почту, кэш веб-браузера, истории чатов, полную историю местоположений, системные журналы и многое другое.
Чтобы извлечь все это с i-устройства, вам понадобится инструмент извлечения (iOS Forensic Toolkit) и работающий джейлбрейк. Поскольку Apple постоянно усиливает безопасность своей мобильной экосистемы, взломать систему становится все труднее.Без охотника за ошибками из Google Project Zero, который выпустил экспериментальный эксплойт для iOS «tfp0», создание работающего джейлбрейка iOS 11 заняло бы у сообщества гораздо больше времени или было бы невозможным.
Уязвимость, использованная в tfp0, присутствовала во всех версиях iOS 10 на всех 32-битных и 64-битных устройствах. Он также присутствовал в ранних версиях iOS 11. Последней уязвимой версией была iOS 11.2.1. На основе эксплойта tfp0 различные команды выпустили собственные версии джейлбрейков.
Выберите свой побег из тюрьмы
Для разных комбинаций оборудования и версий iOS доступно несколько разных средств взлома. Взломанные версии LiberIOS и Electra частично совпадают, выполняя ту же работу для устройств iOS 11. Какой побег из тюрьмы выбрать - решать вам; они оба используют одни и те же уязвимости и должны работать примерно одинаково с iOS Forensic Toolkit. Мы успешно протестировали следующие джейлбрейки:
iOS 10:
iOS 11:
Также есть джейлбрейк g0blin для iOS 10.3.x, только для устройств A7-A9 (например, iPhone 5S, iPhone 6 / Plus, iPhone 6S / Plus, iPhone SE, iPod 6-го поколения и некоторые iPad), но мы не тестировали с ним наше программное обеспечение (хотя оно должно Работа).
Как извлечь данные из взломанного устройства iOS 11
Для извлечения данных с устройства Apple под управлением iOS 10 или 11 вам понадобится iOS Forensic Toolkit 3.0 (или новее), следуйте одному из двух руководств в зависимости от того, можете ли вы подключить устройство к компьютеру.
Примечание : перед извлечением необходимо установить джейлбрейк.Если вы еще не установили джейлбрейк, обратитесь к Jailbreak iOS 11 .
Если iPhone, который вы собираетесь извлечь, уже разблокирован и (в случае, если он работает под управлением iOS 11) вы знаете его пароль, выполните следующие действия.
- Запустите iOS Forensic Toolkit, вызвав команду «Toolkit-JB».
- Подключите iPhone к компьютеру с помощью кабеля Lightning. Если вы можете разблокировать iPhone, выполните сопряжение устройства, подтвердив «Доверять этому компьютеру?» запрос и (в случае iOS 11) ввод пароля устройства.Если вы не можете выполнить сопряжение, перейдите ко второму руководству («Заблокированный iPhone»).
- Вам будет предложено указать номер порта SSH. По умолчанию номер порта 22 можно указать, просто нажав Enter. Однако для некоторых взломов требуется другой номер порта. Например, для взлома Meridian используется номер порта 2222 .
- В главном окне введите команду «8» (TAR FILES).
- Если вам удалось установить доверительные отношения между iPhone и компьютером на шаге 2, вам будет предложено ввести пароль root.По умолчанию пароль root - «alpine». Возможно, вам потребуется ввести пароль несколько раз.
- Укажите имя файла. Путь указывается относительно домашнего каталога.
- Подождите, пока файловая система будет распакована. Это может быть длительный процесс, но обычно занимает до 10-15 минут:
По окончании процесса отключите устройство и переходите к анализу данных.
Взлом iOS 11 и iOS 10
Чтобы сделать джейлбрейк устройства Apple под управлением iOS 11 (или iOS 10), следуйте этим инструкциям.
Шагов к побегу из тюрьмы:
- Резервное копирование данных с помощью iOS Forensic Toolkit (если резервный пароль пуст, укажите и запишите временный пароль)
- Получите и установите инструмент для взлома, используя приведенные выше ссылки. Сюда входят два файла:
- IPA файл для побег из тюрьмы
- Cydia Impactor доступен по адресу http://www.cydiaimpactor.com/
- Cydia Impactor (разработанный Saurik) используется для подписи файла IPA, чтобы средство взлома можно было запустить на устройствах iOS.Вам нужно будет использовать действительные учетные данные Apple ID для подписания IPA. Мы рекомендуем использовать только что созданный Apple ID для подписи сертификата.
- Подключите устройство iOS к компьютеру, доверьте компьютеру устройство iOS и запустите Cydia Impactor.
- Перетащите IPA с джейлбрейком в приложение Cydia Impactor.
- При появлении запроса укажите Apple ID и пароль. Нажмите OK, чтобы позволить Cydia Impactor подписать IPA и загрузить его на устройство iOS.
- На устройстве iOS откройте «Настройки»> «Общие»> «Управление устройством».Вы увидите профиль разработчика под заголовком «Apple ID». Коснитесь профиля, чтобы установить доверие к этому разработчику. (Требуется подключение к Интернету для проверки сертификата разработчика приложения при установлении доверия.)
- На устройстве iOS найдите приложение для взлома и запустите его.
- Через несколько секунд побег из тюрьмы будет завершен. Устройство может перезагружаться, а может и не перезагружаться; это нормально. Вы можете увидеть сообщение об успешном взломе устройства. Вы также можете увидеть сообщение об ошибке, и в этом случае мы рекомендуем повторить процедуру после перезагрузки устройства.
- Взломанные версии уже включают поддерживаемый демон SSH, который может использоваться iOS Forensic Toolkit. Если SSH-соединение не может быть установлено, установите OpenSSH из приложения Cydia на устройстве или как описано здесь.
Примечание: джейлбрейки частично привязаны. Они истекают через 7 дней, после чего процедуру необходимо повторить.
Передайте привет iOS11! Новый день для пользователей iPhone и iPad по всему миру
Технический гигант Apple во вторник выпустил iOS 11 по всему миру для клиентов iPhone и iPad, который приносит долгожданные возможности дополненной реальности (AR) с использованием встроенной камеры, мощных процессоров и датчиков движения .iOS 11 обеспечивает дополненную реальность на сотнях миллионов устройств iOS, а новые профессиональные возможности улучшают изображения в фотографиях и камерах. Siri стала более естественной и полезной, а обновленный App Store упрощает поиск приложений и игр.
Ваш iPhone будет лучше, чем раньше. Ваш iPad станет еще более функциональным, чем когда-либо прежде. С iOS 11 iPhone и iPad станут самыми мощными, персональными и интеллектуальными устройствами из когда-либо существовавших.
Приложения AR позволят пользователям просматривать виртуальный контент поверх реальных сцен для интерактивных игр, впечатляющих покупок, промышленного дизайна и многого другого.
Вот некоторые из особенностей iOS 11:
Обновленный магазин приложений
Apple полностью обновила свой App Store впервые за девять лет. В обновленном магазине есть несколько новых вкладок в нижней части экрана, позволяющих пользователям фильтровать по Играм, Приложениям и «Сегодня» - ежедневно меняющийся выбор основных моментов из App Store.
Вкладка «Сегодня» также будет включать подробные сведения и интервью с разработчиками, а также эксклюзивные премьеры, советы по выпуску новых версий и практические руководства.
Поиск также был улучшен, позволяя пользователям выполнять поиск по имени, категории, разработчику или теме и получать релевантные результаты для определенных приложений и игр.
Обновлен Siri
Обновленная версия Siri, пожалуй, самая долгожданная и самая большая новая функция iOS 11.
Apple использовала машинное обучение для создания более естественных голосов как для мужской, так и для женской версии Siri, регулируя интонацию, высоту тона, ударение и темп во время речи.
Также будет новый визуальный интерфейс, предлагающий предложения, основанные на личном использовании приложений, таких как Safari, Новости, Почта и Сообщения.
Siri был обновлен, чтобы лучше понимать контекст и предлагать результаты, которые, по его мнению, будут интересны пользователю.
Новая возможность перевода позволяет переводить английские слова и фразы на китайский, французский, немецкий, итальянский или испанский языки, а позже появятся дополнительные возможности.
Внутренние карты
В свое приложение «Карты» Apple добавила подробные планы этажей торговых центров и аэропортов. Сначала они будут охватывать небольшую выборку мировых городов, включая Лондон, а также Хитроу и Гатвик, а позже будут добавлены новые локации.
Также были добавлены ограничения скорости и руководство по полосе, чтобы облегчить навигацию по дорогам.
Не беспокоить во время вождения
Опираясь на функцию «Не беспокоить», Apple представила потенциально жизненно важную функцию «Не беспокоить во время вождения», чтобы водители не отвлекались от дороги.
Это работает, определяя, когда вы находитесь за рулем, и автоматически отключает уведомления, чтобы экран оставался темным.
Пользователи также могут отправлять автоматический ответ контактам, перечисленным в «Избранное», чтобы сообщить им, что они едут за рулем и не могут ответить, пока не прибудут в пункт назначения.
Зацикливание живых фотографий
Move over, Boomerang, Apple представляет новые эффекты Loop и Bounce для Live Photos, позволяющие пользователям создавать непрерывные видеопетли.
Обновленное приложение «Фото» также автоматически создает «фильмы на память» из коллекций фотографий на вашем устройстве iOS.
Apple улучшила качество фотосъемки в портретном режиме, приведя их в соответствие с пейзажными фотографиями с такими функциями, как оптическая стабилизация изображения, вспышка True Tone и HDR.
Кроме того, Apple представляет новую технологию под названием High Efficiency Image File Format, которая уменьшает размер файла каждой сделанной фотографии, поэтому они занимают меньше места на вашем iPhone.
Дополненная реальность
Дополненная реальность, очевидно, должна была быть на повестке дня. Apple представляет новую платформу для разработчиков, чтобы помочь им перенести возможности дополненной реальности на iPhone и iPad с помощью встроенной камеры и датчиков движения.
Денежные переводы
Apple Pay собирается стать реальностью, позволяя пользователям мгновенно совершать и получать платежи с друзьями и семьей на свои телефоны.
Осенью, с обновлением iOS 11 и watchOS 4, пользователи Apple Pay смогут отправлять и получать деньги быстро и безопасно.
Пользователи могут отправлять деньги и получать деньги в Сообщениях или приказать Siri заплатить кому-либо, используя кредитные и дебетовые карты, которые у них уже есть в Кошельке.
Когда пользователи получают деньги, они получают деньги на свою новую учетную запись Apple Pay Cash, которые они могут отправить кому-то другому или совершать покупки с помощью Apple Pay в магазинах, приложениях и в Интернете.
FaceID и Animojis
На прошлой неделе Apple представила iPhone «X» с системой распознавания лиц, iPhone 8 и iPhone 8 Plus, новые Apple Watch Series 3 и Apple TV 4K.iPhone «X» оснащен уникальной системой распознавания лиц «FaceID» для разблокировки устройства.
Сюда входит FaceID - новая технология аутентификации, которая может проверять личность пользователя, сканируя его лицо в 3D. FaceID заменяет TouchID на iPhone X.