2016-05-23 38 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", "/"] 
      } 
     ] 
    } 
} 

我的權利設置正確:

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。我正在測試物理設備。我嘗試在safari中手動輸入網址,並通過短信單擊它們。有沒有人看到問題在哪裏?

回答

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

讀到的內容,我包含了「activitycontinuation」嗯。我不確定那個作者經歷過什麼,但是我可以在Branch.io做幾千個Universal Links實現後告訴你,我們從來不需要使用這個額外的代碼。可能這是去年十月編寫指南時的一個問題,但絕對不是現在。由於蘋果的官方文檔不包括這一要求,我仍然建議把這些線路再試一次:) –

+0

因此,我正在爲我的公司做這件事。當我等待服務器人員上傳文件時,我製作了一個沙盒應用程序,並使用我的個人服務器執行相同的步驟。我已經正確設置了一切,只有applinks部分的文件。沒有工作。我更改了文件以包含acticitycontinuation部分,並突然生效。 – Chris