Ответ 1
Похоже, что приложение должно быть установлено через App Store/Test Flight/Ad Hoc или приложение не будет считаться установленным.
Я установил приложение на свое устройство, используя специальное предложение, и все работает.
Я пытался (безуспешно) использовать Branch, чтобы реализовать глубокую привязку к нашему приложению iOS. URL-адрес ветки перенаправляется непосредственно в App Store и никогда не пытается открыть приложение. Мне что-то не хватает.
Что я сделал:
branch_key
в приложение
PLISTAssociated Domains
как в проекте, так и в
консоли разработчика.Убедитесь, что файл прав включен в сборку.
Зарегистрированный обработчик глубоких ссылок в AppDelegate
Панель инструментов: Настройки → Настройки ссылок:
Идентификатор пакета и префикс приложения Apple установлены правильно.
На вкладке "Маркетинг" на панели "Филиал" я создал одну ссылку. Я отправляю по электронной почте эту ссылку себе и открываю ее на устройстве (Mail.app). Safari открывается, тогда App Store открывается, как будто приложение не установлено.
Вызываются ни application:openURL:sourceApplication:annotation
, ни application:continueUserActivity:restorationHandler
.
Методы AppDelegate:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let branch: Branch = Branch.getInstance()
branch.initSessionWithLaunchOptions(launchOptions, andRegisterDeepLinkHandler: { params, error in
if (error == nil) {
// params are the deep linked params associated with the link that the user clicked -> was re-directed to this app
// params will be empty if no data found
// ... insert custom logic here ...
NSLog("params: %@", params.description)
}
})
return true
}
func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
// pass the url to the handle deep link call
return Branch.getInstance().continueUserActivity(userActivity)
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
// pass the url to the handle deep link call
Branch.getInstance().handleDeepLink(url);
// do other deep link routing for the Facebook SDK, Pinterest SDK, etc
return true
}
Мне не хватает шага конфигурации? Это потому, что приложение установлено с помощью отладки Xcode, а не через магазин приложений? Я ожидаю, что вызовут методы делегирования приложения, но это не так.
Похоже, что приложение должно быть установлено через App Store/Test Flight/Ad Hoc или приложение не будет считаться установленным.
Я установил приложение на свое устройство, используя специальное предложение, и все работает.
Для меня ссылка работала, хотя я установил привязку без Adhoc-распространения. Затем в один прекрасный день он прекратил работать. Это произошло потому, что я нажал на прямую ссылку на bnc внутри приложения.
Исправить это было легко - просто нажав ссылку. Опция отображает "Открыть в приложении". Нажмите эту ссылку, и ссылка будет обработана приложением. В следующий раз ссылка работает, как ожидалось, даже без длительного нажатия, поскольку Safari помнит об этом как о поведении по умолчанию.
У меня тоже была проблема, но мое решение отличается от вашего.
Примечание. Мы можем открыть приложение в режиме отладки (я сделал это, как указано Alex Bauer в разделе выше комментариев).
В .plist
я добавил два разных ключа: один - live
, а другой - test
(одновременно) вместе с вышеупомянутыми настройками конфигурации.
Домен для глубокой привязки, который я использовал, был этим. bnc.lt
.
Я отправил письмо в отдел поддержки ветки Io по моей проблеме, после чего получил ответ следующим образом:
Причина, по которой возникают проблемы, связана с тем, что вы все еще находитесь в нашем домене связи
bnc.lt
. Этот домен доменов постепенно прекращался в течение прошлого года. Разработка и функциональность в течение некоторого времени прекратились в пользу нашего нового домена связи (app.link). Чтобы исправить свои проблемы и корректно работать с вашим AASA-валидатором, вам нужно будет изменить домен вашей ссылки с bnc.lt на app.link на панели управления филиалом (https://dashboard.branch.io/settings/link). После того, как вы внесете это изменение, вам нужно будет обновить приложение, чтобы принять новый домен ссылки app.link, а также ваш старый домен bnc.lt. https://gist.github.com/ethanneff/a2a70d1b3518c638701c28b1bd374e80
Пожалуйста, посетите приведенную выше ссылку, и это очень полезно.
Надеюсь, он решает вашу проблему, Happy Branching:)
У меня возникла та же проблема - некоторые ответы здесь датированы, поэтому я постараюсь предоставить обновление:
Исправить это было легко - просто долго нажимал на ссылку. Опция показывает "Открыть в приложении".
Я считаю, что в iOS 11 этого не произошло, если только вы не тестируете в iOS 10, это не вариант.
Похоже, что приложение должно быть установлено через App Store/Test Flight/Ad Hoc, иначе оно не будет считаться установленным.
Как отметил Алекс в комментариях, это не совсем так. Ссылки ветки работают, когда приложение установлено через XCode.
Для меня проблема была своего рода проблема с кэшированием на моем устройстве. у меня есть несколько схем Debug & Релиз каждого из которых имеет свой собственный ключ ветки и ссылки. Некоторые, как они запутались и ссылки не открываются в одной схеме. Я смог решить эту проблему путем принудительного перезапуска устройства.