2016-05-23 4 views
0

У меня есть apple-app-site-association загружен на сервер правильно. Он отформатирован следующим образом:Universal Linking Bad JSON

{ 
    "activitycontinuation": { 
     "apps": [ 
     "ASDF.com.company.appname" 
     ] 
    }, 
    "applinks": { 
     "apps": [], 
     "details": [ 
      { 
       "appID": "ASDF.com.company.appname", 
       "paths": [ "/menu/*", "/menu/*/*", "/account/history", "/"] 
      } 
     ] 
    } 
} 

Мое Entitlements настроено правильно:

applinks:company-site.com 
activitycontinuation:company-site.com 

Я проверял с Чарльзом прокси на установку устройства выбирает правильный файл с сервера.

При взгляде на журнал устройства, я получаю следующее сообщение об ошибке:

Bad apple-app-site-association JSON: Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}

Я побежал JSON через пуха, и он вышел хорошо. Сервер отправляет обратно Content-Type: application/json в заголовок. Я тестирую на физическом устройстве. Я попытался ввести URL-адреса вручную в сафари и щелкнуть их по текстовому сообщению. Кто-нибудь видит, где проблема?

ответ

0

Я считаю, что первый раздел вашего apple-app-site-association не нужен и может вызвать ошибку проверки (Apple довольно строго относится к этому файлу). Я не видел этого в других местах - есть ли конкретная причина, по которой вы его включаете?

Попробуйте это и посмотреть, если он работает лучше:

{ 
    "applinks": { 
     "apps": [], 
     "details": [ 
      { 
       "appID": "ASDF.com.company.appname", 
       "paths": [ "/menu/*", "/menu/*/*", "/account/history", "/"] 
      } 
     ] 
    } 
} 

отметить также, что Всеобщие ссылки будут никогда работы при вводе вручную в Safari. См. here для получения дополнительной информации.

+0

Я включаю 'продолжение деятельности' на основе того, что я читал на https://medium.com/@barsh/my-first-date-with-ios-universal-links-90dfabc88bb8#.hj4xnlqqn – Chris

+0

Хмм. Я не уверен, что испытал этот автор, но я могу сказать вам, что после выполнения нескольких тысяч реализаций Universal Links в Branch.io нам никогда не понадобилось использовать этот дополнительный код. Может быть, это была проблема в октябре прошлого года, когда гид был написан, но определенно не сейчас. Поскольку официальные документы Apple не включают это требование, я все же предлагаю взять эти строки и попробовать снова :) –

+0

Итак, я делаю это для своей компании. Когда я ждал, когда серверные ребята выгрузили файл, я сделал приложение для песочницы и выполнил те же действия с моим личным сервером. У меня все было правильно настроено с файлом, имеющим только раздел приложений. Не работает. Я изменил файл, чтобы включить секцию acticitycontinuation, и внезапно он сработал. – Chris