2016-12-05 3 views
0

Я использую Branch.io для реализации Universal Links в моем приложении. Каждый раз, когда я копирую и вставляю универсальную ссылку (из своего приложения) в Notes, я нажимаю «ОТКРЫТЬ (APP)» и перенаправляет меня на неправильный контроллер представления. Он направляет меня на главный контроллер представления, который пользователь видит при первом открытии приложения. Что-то должно быть не так с моей Deep Link Routing в моем AppDelegate.m файла:Ветвь Universal Link не работает

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

Branch *branch = [Branch getInstance]; 

WebDeepLinkViewController *WebDeepLinkViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateInitialViewController]; 
[branch registerDeepLinkController:WebDeepLinkViewController forKey:@"Article"]; 

ответ

0

Alex из Branch.io здесь:

Похоже, что вы звоните instantiateInitialViewController. Как следует из названия, this loads the main view controller that the user sees when they first open the app. Вы хотите instantiateViewControllerWithIdentifier

Кроме того, вы, возможно, отсутствует строка, если вы просто не включили его в сниппет:

[branch initSessionWithLaunchOptions:launchOptions automaticallyDisplayDeepLinkController:YES]; 

Исправленная версия будет выглядеть следующим образом:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

Branch *branch = [Branch getInstance]; 

WebDeepLinkViewController *WebDeepLinkViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"DeepLinkingController"]; 

[branch registerDeepLinkController:WebDeepLinkViewController forKey:@"Article"]; 
[branch initSessionWithLaunchOptions:launchOptions automaticallyDisplayDeepLinkController:YES]; 

(DeepLinkingController - это идентификатор раскадровки. Если вы не знаете, как это установить, вы можете найти инструкции here)

+0

Хорошо, после того, как я исправил код, я протестировал его, и универсальная ссылка отправила меня в приложение, чтобы весь экран стал белым. Кажется, когда я добавляю '[branch initSessionWithLaunchOptions: launchOptions автоматическиDisplayDeepLinkController: YES];' контроллер представления приложения полностью белый. Что может быть неправильным? – Elizabeth429

+0

Трудно сказать ... Не могли бы вы поделиться своим полным AppDelegate и посмотреть код контроллера? Если вы не хотите публиковать это здесь, не стесняйтесь [отправить билет] (https://support.branch.io/support/tickets/new) для команды Integrations Branch –

+0

Обнаружена проблема. С исправленным кодом Universal Link перевела меня на правильный контроллер. Однако элементы контроллера View отсутствуют, включая кнопку & пользовательский веб-просмотр. Единственными правильными элементами являются изображение и ярлык. Как сохранить эти элементы? – Elizabeth429

Смежные вопросы