Xamarin Universal Linking не запрашивает файл apple-app-site

Я пытаюсь реализовать универсальную привязку в своем приложении Xamarin для iOS. Я загрузил файл ассоциации apple-app-site-association на свой сервер, отправил его как application / json и протестировал, чтобы убедиться, что он загружается.

Затем я добавил в Entitlements.plist следующее:

<dict>
    <key>com.apple.developer.associated-domains</key>
    <array>
        <string>applinks:mydomain.com</string>
        <string>applinks:*.mydomain.com</string>
    </array>
</dict>

Мне нужно, чтобы ссылка работала во всех поддоменах, поэтому я понимаю, что нужно включить как корневой домен, так и запись с подстановочными знаками, отсюда две записи выше. Файл ассоциации яблочного приложения-сайта обслуживается из корневого домена и всех поддоменов.

Я тестирую свое приложение в режиме отладки через Visual Studio на реальном устройстве (iPhone XS). Насколько я понимаю, когда приложение установлено, оно попытается загрузить файл ассоциации apple-app-site-association с сервера, однако, когда я проверяю журналы сервера, записи об этом нет.

Я пробовал удалить приложение с телефона, заново собрать и запустить снова, но без радости.

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

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


person littlecharva    schedule 05.09.2019    source источник
comment
Если ваше приложение установлено, щелкните универсальную ссылку, чтобы открыть ваше приложение напрямую. Может помочь чтение этих двух блогов: Универсальное связывание, universal-links-in-ios   -  person Jack Hua    schedule 06.09.2019
comment
Спасибо, Джек, эта первая ссылка помогла мне решить проблему. Вы хотите опубликовать ее в качестве ответа, и я приму ее?   -  person littlecharva    schedule 09.09.2019
comment
Конечно, я добавил это в качестве ответа.   -  person Jack Hua    schedule 10.09.2019


Ответы (1)


Шаги по настройке универсальных ссылок в Xamarin iOS:

  1. Загрузите файл apple-app-site-association в корень своего веб-сайта или в подкаталог .well-known и убедитесь, что он обслуживается через HTTPS

    1.1. Если он обслуживается через HTTPS и вам не нужно настраивать таргетинг на iOS8, не пытайтесь подписать файл JSON. Подойдет простой простой файл JSON.

  2. Включите функцию “Associated Domains” в Apple Developer Center для своего приложения и повторно создайте профиль provisioning

  3. Добавьте домен (ы), для которых вы хотите добавить универсальную ссылку на свой iOS Entitlements file, в разделе «Associated Domains».

  4. Не забудьте добавить приложения: prefix (ex. applinks:ctcode.wordpress.com) Реализуйте логику в классе AppDelegate

См .: универсальные ссылки и universal-links-in-ios

person Jack Hua    schedule 10.09.2019