Обрабатывать действие нажатия виджета, когда приложение iOS находится на переднем плане - PullRequest
0 голосов
/ 22 мая 2018

При нажатии на виджет я могу справиться, используя следующий метод, если приложение не запущено -

(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 

Но если приложение находится в фоновом режиме, как обрабатывать действие?

1 Ответ

0 голосов
/ 22 мая 2018

handleOpenURL будет вызываться независимо от того, находится приложение в фоновом режиме или нет.

Официальный документ:
Если URL-адрес приходит, когда приложение приостановлено или работает в фоновом режиме, система перемещает ваше приложение на передний план перед вызовом этого метода.

И что влияет на вызов:

Этот метод не вызывается, если делегат возвращает NO изоба метода application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions:.(Если реализован только один из двух методов, его возвращаемое значение определяет, вызывается ли этот метод.) Если ваше приложение реализует метод applicationDidFinishLaunching: вместо application:didFinishLaunchingWithOptions:, этот метод вызывается, чтобы открыть указанный URL-адрес после того, как приложение имеетбыл инициализирован.

И с iOS9.0 лучше использовать следующий метод:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options NS_AVAILABLE_IOS(9_0); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...