Детокс не обрабатывает универсальные ссылки - PullRequest
0 голосов
/ 02 декабря 2018

Я пытался заставить iOS Universal Links работать с Detox, используя device.openURL из https://github.com/wix/Detox/blob/master/docs/APIRef.MockingOpenFromURL.md, но это не работает.

Пример того, что я пробовал:

it('should work', async () => {
  await device.sendToHome();
  await device.openURL({
    url: 'https://name.page.link/somewhere,
    sourceApp: 'com.apple.MobileSMS'
  });
});

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

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

В тестировании пользовательского интерфейса iOS можно тестировать универсальные ссылки, используя приложение iMessage.(см. https://blog.branch.io/ui-testing-universal-links-in-xcode-9/). Кто-нибудь знает подобный обходной путь для детоксикации?

1 Ответ

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

Вы использовали этот код в AppDelegate.m:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
  return [RCTLinkingManager application:application openURL:url
                  sourceApplication:sourceApplication annotation:annotation];
}

Но он не поддерживается Detox.Вы должны использовать:

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