Руководство. Созданию приложения для iOS, которое запускает иммерсивное средство чтения с содержимым из фотографии (Swift)Tutorial: Create an iOS app that launches the Immersive Reader with content from a photo (Swift)

Иммерсивное средство чтения — это включительно разработанное решение, в котором реализованы проверенные методы, улучшающие понимание при чтении.The Immersive Reader is an inclusively designed tool that implements proven techniques to improve reading comprehension.

API чтение службы Cognitive Service "Компьютерное зрение" обнаруживает текстовое содержимое в изображении, используя новейшие модели распознавания Майкрософт и преобразует обнаруженный текст в поток символов, пригодный для машинного чтения.The Computer Vision Cognitive Services Read API detects text content in an image using Microsoft's latest recognition models and converts the identified text into a machine-readable character stream.

В этом руководстве вы создадите приложение для iOS с нуля, интегрируете API чтения, а также Иммерсивное средство чтения с помощью пакета SDK Ииммерсивного средства чтения.In this tutorial, you will build an iOS app from scratch and integrate the Read API, and the Immersive Reader by using the Immersive Reader SDK. Полностью рабочий пример этого руководства доступен здесь.A full working sample of this tutorial is available here.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

Предварительные требованияPrerequisites

  • XcodeXcode
  • Ресурс "Иммерсивное средство чтения", настроенный для проверки подлинности Azure Active Directory.An Immersive Reader resource configured for Azure Active Directory authentication. Инструкции по настройке см. здесь.Follow these instructions to get set up. Некоторые из этих созданных значений потребуются вам при настройке свойств примера проекта.You will need some of the values created here when configuring the sample project properties. Сохраните результаты своего сеанса в текстовом файле для использования в будущем.Save the output of your session into a text file for future reference.
  • Для использования этого примера требуется подписка Azure на службу Cognitive Service "Компьютерное зрение".Usage of this sample requires an Azure subscription to the Computer Vision Cognitive Service. Создайте ресурс "Компьютерное зрение" Cognitive Service на портале Azure.Create a Computer Vision Cognitive Service resource in the Azure portal.

Создание проекта XcodeCreate an Xcode project

Создайте проект в Xcode.Create a new project in Xcode.

Создать проект

Выберите Приложение одного представления.Choose Single View App.

Новое приложение одного представления

Получение пакета SDK CocoaPodGet the SDK CocoaPod

Самый простой способ использовать пакет SDK для Иммерсивного средства чтения — через CocoaPods.The easiest way to use the Immersive Reader SDK is via CocoaPods. Чтобы установить его с помощью Cocoapods, выполните следующее.To install via Cocoapods:

  1. Установка CocoaPods по инструкциям из руководства по началу работы.Install CocoaPods - Follow the getting started guide to install Cocoapods.
  2. Создайте Podfile, запустив pod init в корневом каталоге проекта Xcode.Create a Podfile by running pod init in your Xcode project's root directory.
  3. Добавьте CocoaPod в Podfile, добавив pod 'immersive-reader-sdk', :path => 'https://github.com/microsoft/immersive-reader-sdk/tree/master/iOS/immersive-reader-sdk'.Add the CocoaPod to your Podfile by adding pod 'immersive-reader-sdk', :path => 'https://github.com/microsoft/immersive-reader-sdk/tree/master/iOS/immersive-reader-sdk'. Ваш Podfile должен выглядеть следующим образом, при этом имя вашего целевого объекта заменяется рисунком "picture-to-immersive-reader-swift":Your Podfile should look like the following, with your target's name replacing picture-to-immersive-reader-swift:
 platform :ios, '9.0'

 target 'picture-to-immersive-reader-swift' do
 use_frameworks!
 # Pods for picture-to-immersive-reader-swift
 pod 'immersive-reader-sdk', :path => 'https://github.com/microsoft/immersive-reader-sdk/tree/master/iOS/immersive-reader-sdk'
 end
  1. В окне терминала в каталоге проекта Xcode запустите команду pod install, чтобы установить pod пакета SDK для иммерсивного средства чтенияIn the terminal, in the directory of your Xcode project, run the command pod install to install the Immersive Reader SDK pod.
  2. Добавьте import immersive_reader_sdk ко всем файлам, которые должны ссылаться на этот пакет SDK.Add import immersive_reader_sdk to all files that need to reference the SDK.
  3. Убедитесь, что проект открыт, открыв файл .xcworkspace, а не .xcodeproj.Ensure to open the project by opening the .xcworkspace file and not the .xcodeproj file.

Получение маркера проверки подлинности Azure ADAcquire an Azure AD authentication token

Для этой части потребуются некоторые значения из описанного выше предварительного требования конфигурации проверки подлинности Azure AD.You need some values from the Azure AD authentication configuration prerequisite step above for this part. Вернитесь к текстовому файлу, который вы сохранили в этом сеансе.Refer back to the text file you saved of that session.

TenantId     => Azure subscription TenantId
ClientId     => Azure AD ApplicationId
ClientSecret => Azure AD Application Service Principal password
Subdomain    => Immersive Reader resource subdomain (resource 'Name' if the resource was created in the Azure portal, or 'CustomSubDomain' option if the resource was created with Azure CLI Powershell. Check the Azure portal for the subdomain on the Endpoint in the resource Overview page, for example, 'https://[SUBDOMAIN].cognitiveservices.azure.com/')

В главной папке проекта, которая содержит файл ViewController.swift, создайте файл для класса Swift с именем Constants.swift.In the main project folder, which contains the ViewController.swift file, create a Swift class file called Constants.swift. Замените этот класс следующим кодом, добавив в него нужные реальные значения.Replace the class with the following code, adding in your values where applicable. Сохраните этот файл как локальный, существующий только на вашем компьютере, и убедитесь, что этот файл не передан в систему управления версиями, так как он содержит секреты, которые не следует публиковать.Keep this file as a local file that only exists on your machine and be sure not to commit this file into source control, as it contains secrets that should not be made public. Мы рекомендуем не сохранять секреты в коде приложения.It is recommended that you do not keep secrets in your app. Вместо этого лучше использовать внутреннюю службу для получения токена, что позволяет хранить секреты вне приложения и вне устройства.Instead, we recommend using a backend service to obtain the token, where the secrets can be kept outside of the app and off of the device. Конечная точка внутреннего-API должна быть защищена какой-либо формой аутентификации (например, OAuth), чтобы предотвратить получение неавторизованными пользователями токенов для использования в службе "Иммерсивное средство чтения" и выставлении счетов. Эти действия не входят в данное руководство.The backend API endpoint should be secured behind some form of authentication (for example, OAuth) to prevent unauthorized users from obtaining tokens to use against your Immersive Reader service and billing; that work is beyond the scope of this tutorial.

Настройка приложения для запуска без раскадровкиSet up the app to run without a storyboard

Откройте AppDelegate.swift и замените его содержимое следующим кодом.Open AppDelegate.swift and replace the file with the following code.

Добавление функций для создания и отправки фотографийAdd functionality for taking and uploading photos

Переименуйте ViewController.swift в PictureLaunchViewController.swift и замените файл следующим кодом.Rename ViewController.swift to PictureLaunchViewController.swift and replace the file with the following code.

Создание и запуск приложенияBuild and run the app

Настройте схему архивации в Xcode, выбрав симулятор или цель устройства.Set the archive scheme in Xcode by selecting a simulator or device target. Схема архиваArchive scheme
Выбор целиSelect Target

В Xcode нажмите сочетание клавиш CTRL+R или нажмите кнопку "Воспроизведение", чтобы запустить проект. Приложение должно запуститься в указанном симуляторе или устройстве.In Xcode, press Ctrl + R or click on the play button to run the project and the app should launch on the specified simulator or device.

В приложении вы должны увидеть:In your app, you should see:

Пример приложения

В приложении сделайте или загрузите фотографию текста, нажав кнопку "Сделать фотографию" или "Выбрать фотографию из библиотеки", после чего Иммерсивное средство чтения запустит отображение текста с фотографии.Inside the app, take or upload a photo of text by pressing the 'Take Photo' button or 'Choose Photo from Library' button and the Immersive Reader will then launch displaying the text from the photo.

Иммерсивное средство чтения

Дальнейшие действияNext steps