iOS 9 UIPasteboard не будет работать в фоновом режиме

iOS 9 [UIPasteboard generalPasteboard].string станет пустым, когда приложение будет работать в фоновом режиме с фоновой задачей или виджетом "Сегодня".

Разве мы не можем получить текст буфера обмена в фоновом режиме?

1 ответ

Можете ли вы объяснить, где вы запускаете GeneralPasteboard?

Вот что я бы сделал:

В методе applicationdidBecomeActive делегата вашего приложения, вставленного в этот код:

[[NSNotificationCenter defaultCenter] postNotificationName:@"appDidBecomeActive" object:nil];

Далее, в вашем текущем активном представлении метод init контроллера подписывается на уведомление.

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(returnFromBg)        
                                             name:@"appDidBecomeActive" 
                                             object:nil];

- (void)returnFromBg {
       UIPasteboard *appPasteBoard = [UIPasteboard generalPasteboard];
       yourTextField.text = [appPasteBoard string;
}

PS Не забудьте удалить наблюдателя при удалении контроллера вида:

[[NSNotificationCenter defaultCenter] removeObserver:self];
Другие вопросы по тегам