В этом коротком руководстве мы узнаем, как создать событие и добавить его в собственный календарь на iOS с помощью EventKit и EventKit UI.
Шаг 1. Создайте новый проект Xcode и добавьте возможности
Откройте Xcode и выберите шаблон приложения, интерфейс раскадровки и назовем этот проект Calendarexample.
Теперь перейдите непосредственно к файлу Info.Plist и добавьте Конфиденциальность - Описание использования календарей в список свойств . Это необходимый шаг для доступа и добавления событий в собственный календарь iOS из нашего приложения. В качестве строки я добавил следующее предложение:
«Мы хотим получить доступ к вашему календарю, чтобы добавить соответствующие события» - это предложение будет видно нашему пользователю, как только появится запрос на разрешение.
Шаг 2. Импортируйте фреймворки и делегируйте
Давайте импортируем необходимые фреймворки в верхнюю часть нашего файла ViewController:
Также добавьте протокол EKEventEditViewDelegate в свой класс ViewController:
Шаг 3. Давайте напишем несколько функций
Если вы запустите свой код на этом этапе, ваша сборка завершится ошибкой со следующим предупреждением от Xcode:
Нажмите «Исправить», и вы увидите, что была добавлена следующая функция:
Эта функция необходима для обработки завершения действия после того, как событие было добавлено в календарь, таким образом, наше приложение сможет знать, что делать, когда мы добавим событие в EKEventEditViewDelegate. Мы просто скажем нашему приложению закрыть делегат с помощью следующей строки кода:
Добавьте строку выше внутри функции eventEditViewController.
Теперь давайте напишем нашу функцию для представления EKEventEditViewDelegate и добавления события, давайте сначала объявим одну переменную и одну константу:
Скопируйте / вставьте эти строки поверх функции viewDidLoad, это будет необходимо в нашей функции.
Теперь давайте, наконец, напишем нашу функцию для добавления события в наш календарь, скопируйте приведенный ниже код и вставьте его в метод viewDidLoad.
Эта функция проверяет, есть ли у пользователя авторизованный доступ к календарю, и содержит следующее:
- Название (здесь мы использовали «Keynote Apple»)
- Дата начала (мы использовали дату по умолчанию: сейчас)
- Дата окончания (мы использовали дату окончания по умолчанию: сейчас + 1 минута)
- URL-адрес (мы использовали «https://apple.com»)
Вы также можете добавить несколько элементов информации, таких как статус мероприятия, имя организатора и, продлится ли мероприятие весь день или нет.
Ваш ViewController теперь должен выглядеть так:
Шаг 4. Запустите приложение
Теперь запустите приложение, и на вашем экране должно появиться всплывающее окно с запросом разрешения календаря. Затем появится делегат календаря с данными, которые мы уже предоставили в нем. Вы можете изменить его и добавить событие в календарь симулятора.
Мы сделали это! Мы успешно добавили мероприятие в календарь нашего iPhone.
Следующий шаг: попробуйте вызвать эту функцию с помощью кнопки «Добавить событие» и вспомните необходимую информацию из выбранной вами базы данных! Кроме того, попробуйте справиться с ситуацией, когда пользователь отказывается от разрешения представить его снова, когда он хочет добавить событие в свой календарь.
Спасибо за внимание! Я всегда рад поболтать и поработать на [email protected]. Рассмотрите возможность подписки, чтобы получить неограниченный доступ к моим статьям и всему Medium через мою реферальную ссылку
Репозиторий Github: