Skip to content

johndoe123312/MyApp1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

MyApp1

Первое приложение на iOS

выполняется в рамках курса на stepik https://stepik.org/lesson/1240144/step/6?unit=1253896

Методы UIApplicationDelegate-а

Основные перемещения между состояния вызывают определенные методы указанные в объекте приложения. Эти методы дают вам возможность обработать изменение состояний.

  • application:willFinishLaunchingWithOptions: — Этот метод вашего приложения позволяет вам выполнять код во время запуска приложения.
  • application:didFinishLaunchingWithOptions: — Этот метод позволяет вам перед окончанием запуска выполнить код прежде чем показать ваше приложение пользователю.
  • applicationDidBecomeActive: — Дает вам знать, что оно становятся приложением переднего плана. Используйте этот метод для последних приготовлений.
  • applicationWillResignActive: — Дает вам знать, что приложение уходит из режима переднего плана. Используйте этот метод для помещения вашего приложения в режим покоя.
  • applicationDidEnterBackground: — Дает вам знать, что приложение запущено в фоне и может быть выключено в любое время.
  • applicationWillEnterForeground: — Дает вам знать, что ваше приложение перемещено из фона обратно на передний план, но то, что оно еще не активно.
  • applicationWillTerminate: — Дает вам знать, что приложение было выключено. Этот метод не вызывается, если приложение было в состоянии suspended(приостановлено).

[#C] практика - Создайте проект приложения под iOS.

Переопределите все методы в AppDelegate Вашего проекта, в каждом из них вызвав метод print(), который выводит разные числа в зависимости от метода (любые на Ваше усмотрение). Запустите проект и открывайте/закрывайте/выбрасывайте приложение из памяти. В консоли наблюдайте порядок вывода чисел и обратите внимание на жизненный цикл приложения на практике.

  • Note taken on [2025-03-23 вс 15:04]

по заданию два метода выводят в лог свои данные:

  • application:willFinishLaunchingWithOptions
  • application:didFinishLaunchingWithOptions

Все остальные методы из задания удалось переопределить, но они не вызываются при изменнении состояний в приложении, исследования причин показали, что они перекрываются используемым по умолчанию после создания проекта протоколом SceneDelegate

Таким образом, для отслеживания жизненного цикла приложения я использовал имплементацию методов протокола SceneDelegate

func sceneDidBecomeActive(_ scene: UIScene) {
      print(" 444 sceneDidBecomeActive")
  }

  func sceneWillResignActive(_ scene: UIScene) {
      print(" 444 sceneWillResignActive")
  }

  func sceneWillEnterForeground(_ scene: UIScene) {
      print(" 555 sceneWillResignActive")
  }

  func sceneDidEnterBackground(_ scene: UIScene) {
      print(" 666 func sceneDidEnterBackground")
  }

Данное отклонение от курса решает проблему, но может быть не желательным в дальнейшем.

[#C] Проект выложите на github/gitlab/облачный диск. и пришлите ссылку в

  • Note taken on [2025-03-23 вс 15:06]
    завершено

ответ. Обратите внимание на то, чтобы доступ к проекту был открыт, в том числе и для комментариев. Преподаватель так оставит обратную связь.

***

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages