Детокс не обрабатывает универсальные ссылки
Я пытался заставить 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 UI Testing можно тестировать универсальные ссылки, используя приложение iMessage (см. https://blog.branch.io/ui-testing-universal-links-in-xcode-9/). Кто-нибудь знает подобный обходной путь для детоксикации?
0 ответов
Вы использовали этот код в 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];
}