2017-01-23 44 views
0

我想知道如何創建apple-app-site-association文件。我嘗試實現iOS9通用鏈接

http://www.developerinsider.in/enable-universal-links-in-ios-app-and-setup-server-for-it/

上面的鏈接要說到做到這樣說:

cat json.txt | openssl smime -sign -inkey example.com.key 
    -signer example.com.pem 
    -certfile intermediate.pem 
    -noattr -nodetach 
    -outform DER > apple-app-site-association 

而我沒有。質子交換膜和.KEY文件,我不知道如何創建它。

回答

0

你可以找到這個過程中,從分公司的亞歷克斯·奧斯汀,在此博客中詳細介紹:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/

這裏是鍵位:

第2部分:配置您的蘋果應用程序站點關聯文件

Universal Links將您的網站URL變成應用程序鏈接,因此您需要運行Web服務器以利用它們。爲了幫助完成此過程,請使用我們的通用鏈接驗證器來檢查您的apple-app-site-association文件是否已正確配置。

選擇一個域

首先,確定你想使用你的通用鏈接的域名。您可以註冊一個新的或使用現有的。如果註冊一個新的,我們更喜歡使用乾淨,非垃圾的註冊商,如ghandi.net。

採集SSL認證

您需要獲得SSL認證文件,你會用來託管通用鏈接域。爲了做到這一點,您需要使用第三方服務爲您的域名註冊SSL,並創建您需要的文件。環顧四周後,我們選擇了Digicert來處理branch.io和相關的子域。

這裏是創建你的SSL認證的步驟:

  1. 訪問https://www.digicert.com/easy-csr/openssl.htm並在頂部生成OpenSSL的命令填寫表格。保持這個窗口打開
  2. 登錄到遠程服務器
  3. 執行OpenSSL命令生成證書籤名請求(.csr文件)和認證文件(.cert)在https://www.digicert.com/welcome/ssl-plus.htm
  4. 等待
  5. 支付您的SSL認證爲Digicert批准並向您發送最終文件
  6. 最後,將yourdomain.com.cert,yourdomain.com.key和digicertintermediate.cert移動到遠程服務器上的同一目錄中 創建您的apple-app-site-協會JSON

這個JSON文件有一個非常標準的結構,所以你基本上可以複製這個版本並編輯它以適應你的需要。我會分解下面的正確值。「R63EM248DP.io.branch.TestBed-雨燕」:

{ 
    "applinks": { 
     "apps": [], 
     "details": [ 
      { 
       "appID": "R63EM248DP.io.branch.TestBed-Swift", 
       "paths": [ 
        "NOT /e/*", 
        "*", 
        "/" 
       ] 
      } 
     ] 
    } 
} 

您需要更改的唯一字段關聯。這實際上是兩個值加在一起的時期。這兩個值都可以在標識符 - >應用程序ID部分的developers.apple.com上找到。只需點擊相應的註冊應用程序ID。

在此示例中,將前綴和ID連同一個句點連接起來,使其看起來像這樣:「R63EM248DP.io.branch.TestBed-Swift」。 將此JSON文件另存爲apple-app-site-association-unsigned。

註冊JSON文件與您的SSL證書

注意:如果你有你的認證域HTTPS,你可以跳過這一步,並以明文發送JSON。

將您的服務器上的apple-app-site-association-unsigned文件上傳到與前面步驟中的證書和密鑰文件相同的目錄中。使用命令行,改變目錄到該文件夾​​併發出以下命令:

cat apple-app-site-association-unsigned | openssl smime -sign -inkey yourdomain.com.key -signer yourdomain.com.cert -certfile digicertintermediate.cert -noattr -nodetach -outform DER > apple-app-site-association 

這將生成文件蘋果的應用程序站點關聯

配置文件服務器

好吧!所以你有你的簽名apple-app-site-association文件。現在你只需要配置你的文件服務器來爲你託管。有幾個注意事項:

  • 它必須與頭「應用/ PKCS7-MIME」發送
  • 它必須從端點發送youdomain.com/apple-app-site-association
  • 它必須返回一個200的http代碼。

我們使用Node + Express鏈接服務器爲所有Branch集成應用程序設置了一個。下面是我們的情況下使用的代碼,這是有幫助的:

var aasa = fs.readFileSync(__dirname + '/static/apple-app-site-association');app.get('/apple-app-site-association', function(req, res, next) { 
    res.set('Content-Type', 'application/pkcs7-mime'); 
    res.status(200).send(aasa); 
}); 

同樣,你能避免所有的JSON託管和SSL證書的工作,只需使用分行鏈接到主機給你。 快樂鏈接!