Как использовать несколько источников в openURL в AppDelegate.m? - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь обрабатывать как Twitter, так и глубокие ссылки в openURL, используя ReactNative. Код ниже не работает, в конечном итоге перейти в if (LinkingHandled) даже при работе с Twitter.

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
  bool TwitterHandled = [[Twitter sharedInstance] application:application openURL:url options:options];
  bool LinkingHandled =[RCTLinkingManager application:application openURL:url options:options];
  if (TwitterHandled) {
    return TwitterHandled;
  }
  if (LinkingHandled) {
    return LinkingHandled;
  }
  return NO;
}

Что с этим не так? Я новичок в ObjC.

1 Ответ

0 голосов
/ 29 августа 2018

Используйте } else if {, поэтому только Твиттер запускается, если он обрабатывается, и "связывание" будет идти, только если TwitterHandled равно NO, а LinkingHandled - ДА.

Это можно упростить в одно выражение:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
    return [Twitter.sharedInstance
            application:application
                openURL:url options:options] || 
           [RCTLinkingManager
            application:application 
                openURL:url
                options:options];
}

Переключитесь на Swift, если можете. ?

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