Ссылка на приложение iOS не работает на устройстве, но открывает приложение на симуляторе

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

Пока только тестирование в iOS 14.

После файла JSON ассоциация apple-app-site-association хранится как в корневом каталоге Wordpress, так и в .well-known/

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "XXXXXXXXXX.com.xxx.myapp",
                "paths": [
                    "item/*"
                ]
            }
        ]
    }
}

Принудительный тип MIME с .htaccess

<Files apple-app-site-association>
ForceType application/json
</Files>

curl -v на https://mydomain/.well-known/apple-app-site-association возвращает контент с правильным типом mime application/json и кодом состояния 200.

Вот файл .entitlements:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>aps-environment</key>
        <string>development</string>
        <key>com.apple.developer.associated-domains</key>
        <array>
                <string>applinks:www.myapp.com</string>
                <string>applinks:www.myapp.com?mode=developer</string>
        </array>
</dict>
</plist>

Включено Associated Domains Debugging в Настройках -> Меню разработчика.

Добавлена ​​возможность Associated Domains на портале developer.apple.com.

Проверено OK с помощью https://branch.io/resources/aasa-validator/.

Реализованы методы делегата, но не вызываются

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    print("Opening app thru applink")
    // ....
    return true
}

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

00.000.00.00 - - [04/Mar/2021:23:05:19 -0700] "GET /.well-known/apple-app-site-association HTTP/1.1" 200 133 "-" "swcd (unknown version) CFNetwork/1220.1 Darwin/20.3.0" **0/507**

Не видит и swcd ошибок в логах устройства связанных с этим.

Пробовал как отладочные, так и релизные сборки.

Что-нибудь еще я могу сделать, чтобы устранить неполадки?


person srvy    schedule 05.03.2021    source источник


Ответы (1)


Наконец-то разобрался. Не хватало пары вещей:

  1. Пути в файле ассоциации должны иметь префикс /, например "/item/*"
  2. Использовался идентификатор команды в поле appID, но использование идентификатора префикса приложения помогло
person srvy    schedule 10.03.2021