2017-01-23 9 views
0

apple-app-site-associationファイルの作成方法を知りたいと思います。iOS9 Universal Linksを実装しようとしています

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 

そして私はの.pemと.KEYファイルを持っていないと私はそれを作成する方法がわかりません。

答えて

0

あなたはここで、支店のアレックス・オースティンからのブログ記事で詳しく説明このプロセスを見つけることができます。

セクション2:お使いのAppleアプリ・サイト関連の設定ここでhttps://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/

はキービットであり、ファイル

ユニバーサルリンクは、ウェブサイトのURLをアプリリンクに変えるため、それらを活用するにはウェブサーバーを実行する必要があります。このプロセスを手助けするために、Universal Links Validatorを使用してapple-app-site-associationファイルが正しく設定されているかどうかを確認してください。

まずドメインを選んで、あなたのユニバーサルリンクで使用したいドメインを識別します。あなたは新しいものを登録するか、既存のものを使用することができます。新しいものを登録する場合は、ghandi.netのようなきれいでスパムのないレジストラを使用することをお勧めします。

獲得のSSL証明書あなたはユニバーサルリンクをホストするために使用しますドメインのSSL証明書のファイルを取得する必要が

。これを行うには、サードパーティのサービスを使用してSSL用にドメインを登録し、必要なファイルを作成する必要があります。見回した後、私たちはbranch.ioとそれに関連するサブドメインを扱うDigicertを選択しました。

  1. 訪問https://www.digicert.com/easy-csr/openssl.htmとopensslコマンドを生成するために、上部のフォームに必要事項を記入:ここ

    は、あなたのSSL証明書を作成する手順です。 https://www.digicert.com/welcome/ssl-plus.htm

  2. 待ちであなたのSSL証明書用の証明書署名要求(.csrです)と証明書ファイル(.cert)
  3. ペイを生成するためにopensslコマンドを実行してリモートサーバー
  4. にログイン
  5. このウィンドウを開いてくださいDigicertが最終ファイルを承認して送信するために
  6. 最後に、yourdomain.com.cert、yourdomain.com.keyおよびdigicertintermediate.certをリモートサーバーの同じディレクトリに移動します。 apple-app-site-関連付けJSON

このJSONファイルにはかなり標準的な構造があるので、基本的にこのバージョンをコピーしてニーズに合わせて編集することができます。私はどこで正しい値を取得するかを分解します。

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

変更が必要なフィールドのみが関連付けられている:「R63EM248DP.io.branch.TestBed-スウィフト」。これは、実際にはピリオドで結合された2つの値です。両方の値はdevelopers.apple.comのIdentifiers - > App IDsセクションにあります。対応する登録済みのアプリIDをクリックするだけです。

この例では、「R63EM248DP.io.branch.TestBed-Swift」のように、プレフィックスとIDをピリオドで接続します。 このJSONファイルをapple-app-site-association-unsignedとして保存します。あなたがHTTPSとしてあなたのドメインを認定している場合は、このステップをスキップし、平文でJSONを送信することができます。

は、あなたのSSL証明書を使用して

注意を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-パントマイム」で送信する必要があります
  • それは、エンドポイントから送信されなければなりません
  • youdomain.com/apple-app-site-association
  • 200のhttpコードを返す必要があります。

ノード+エクスプレスリンクサーバーを使用して、すべてのブランチ統合アプリケーション用に設定しました。ここでは役に立ちます、我々は場合に使用されるコードは次のとおりです。

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証明書の作業を避け、あなたのためだけに、それをホストする支店のリンクを使用することができます。 ハッピーリンク!

関連する問題