첫 번째 공통 링크

3906 단어 UniversalLinksiOS

전제 조건

  • 자신의 도메인에 SSL을 지원하는 웹 사이트를 보유하고 있습니다.
  • 공정


    서버에 JSON 파일 배포


    파일 이름은 apple-app-site-association 이며 확장자는 없습니다.
    문서 루트 디렉토리에 배치합니다.
    조건에 따라 다음 URL 구조를 통해 파일을 다시 지정하지 않고 액세스해야 합니다.https://foo.com/apple-app-site-association

    이끼


    어떤 패스 밑에서는 안 된다.https://foo.com/path/to/project에 구성되어도 공통 링크 동작은 수행되지 않습니다.
    기본 내용은 다음과 같다.{TeamID}는 iOS DeveloperCenter에서 확인할 수 있는 10자리 숫자의 어레이입니다.{BundleID} 말할 것도 없다.
    apple-app-site-association
    {
      "applinks": {
        "apps": [],
        "details": [
          {
            "appID":"{TeamID}.{BundleID}",
            "paths":[ "*" ]
          }
        ]
      }
    }
    

    IME 유형을 application/json으로 설정

    $ curl -v https://foo.com/apple-app-site-association로 칠 때Content-Type: application/json 돌려주지 않으면 인기가 없다.

    결국htaccess+ForceType에서 MIME 변경


    다음과 같이 같은 문서 루트 디렉토리에 설정됩니다 .htaccess.
    .htaccess
    <Files apple-app-site-association>
        ForceType application/json
    </Files>
    

    이끼 ②

    httpd.conf에서 사용AddType.AddType 확장자로 지정되어 파일을 지정할 수 없습니다. cURL 결과는 변하지 않습니다.
    httpd.conf
    :
    AddType application/json apple-app-site-association
    :
    

    이끼


    사용 시도.htaccess+DefaultType.
    안타깝게도 cURL 결과가 바뀌지 않았습니다
    .htaccess
    <Files apple-app-site-association>
        DefaultType application/json
    </Files>
    
    cURL로 설정된 위의 파일을 두드려 보십시오.
    이렇게 하면 성공이다.
    $ curl -v https://foo.com/apple-app-site-association
    :
    略
    :
    < Content-Type: application/json
    <
    {
      "applinks": {
        "apps": [],
        "details": [
          {
            "appID":"{TeamID}.{BundleID}",
            "paths":[ "*" ]
          }
        ]
      }
    }
    

    용량 변경


    Xcode에서Capabilities > Associated Domains 을 ON 으로 설정하고 추가applinks:foo.com 합니다.

    실제 기구를 통해 동작을 확인하다



    URL을 Slack으로 전송하고 Slack 응용 프로그램에서 링크를 밟아 안전하게 응용 프로그램을 시작합니다.
    유니버설 링크 동정 졸업.
    참고로 Safari로 URL을 직접 치면 프로그램이 시작되지 않고 페이지 상단에 AppStore에 대한 링크가 나타납니다.

    좋은 웹페이지 즐겨찾기