UIPasteboard возвращает ноль в фоновом режиме - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь прочитать Картон 5 раз в разделе applicatioDidEnterBackground AppDelegate.Для печати строки я использую print(UIPasteboard.general.string!), но она работает только в функции, а в других вложенных функциях - нет.Позвольте мне объяснить:

func applicationDidEnterBackground(_ application: UIApplication) {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.

    print(UIPasteboard.general.string!) //here it works perfectly and prints the string correctly

    for _ in 0...5 {
       print(UIPasteboard.general.string!) //here it returns nil 
    }

}

Я читал другие запросы, похожие на мои, но никто из них не помог мне.Я не знаю, если это ограничение безопасности, но если вы можете мне помочь, я буду признателен ?

1 Ответ

0 голосов
/ 01 февраля 2019

iOS 9 изменена UIPasteboard, чтобы запретить фоновый доступ:

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

Также известно, что некоторые приложения (например, Facebook) собирают столько данных о пользователе, скольковозможно, в то время как политика конфиденциальности намного слабее, чем у Apple.Блокировка фонового доступа к картону - это способ уменьшить возможности Facebook следить за вашими действиями за пределами Facebook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...