iOS 9上的切换和通用链接失败

时间:2015-07-24 07:19:29

标签: ios ios9 handoff

我正在设置我的apple-app-site-association文件,请点击this教程: Handoff适用于iOS 8,但切换功能不适用于iOS 9。 我设置了一个免费的托管网站,并将apple-app-site-association文件上传到网站的根目录:universallink.net46.net 1.我创建了一个JSON文件并将其命名为handoff.json:

{
    "activitycontinuation": 
    {
        "apps": ["XXXXXXXXXX.com.home.handoff"]
    }, 
    "applinks":
    {
        "apps":[],
        "details":
        {
            "XXXXXXXXXX.com.home.handoff":
            {
                "paths":["*"]
            }
        }
    }
}

XXXXXXXXXX此处是分配配置文件的团队ID

  1. 我使用Keychain Access应用程序将iPhone分发证书导出到Certificates.p12密钥。
  2. 我使用以下命令签署了JSON文件:
  3. 在openssl命令中创建证书。

    openssl pkcs12 -in Certificates.p12 -clcerts -nokeys -out output_crt.pem
    

    创建一个密钥。

    openssl pkcs12 -in Certificates.p12 -nocerts -nodes -out output_key.pem
    

    创建中间证书。

    openssl pkcs12 -in Certificates.p12 -cacerts -nokeys -out sample.ca-bundle
    

    使用以下命令对handoff.json文件进行签名。

    cat handoff.json | openssl smime -sign -inkey output_key.pem -signer output_crt.pem -certfile sample.ca-bundle -noattr -nodetach -outform DER> apple-app-site-association
    
    1. 我将签名文件“apple-app-site-association”上传到网站universallink
    2. 的根目录
    3. 我配置了权利:
    4. <dict>
        <key>com.apple.developer.associated-domains</key>
        <array>
            <string>activitycontinuation:www.universallink.net46.net</string>
            <string>activitycontinuation:universallink.net46.net</string>
            <string>applinks:www.universallink.net46.net</string>
            <string>applinks:universallink.net46.net</string>
        </array>
      </dict>
      
      1. 我实现了函数应用程序:continueActivity ....并返回YES。
      2. 我在iOS 9 beta 4设备上安装了该应用程序,并在步骤3中将Certificates.p12安装到设备中。
      3. 我向自己发送了一条消息:universallink网站的链接
      4. 我预计我的应用程序会启动但实际上是Safari。
      5. 我不知道我做错了什么。

3 个答案:

答案 0 :(得分:2)

你签了错了。你需要一个

  

由iOS信任的证书颁发机构颁发的身份证书和密钥

请在此处查看Apple官方文档:https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html#//apple_ref/doc/uid/TP40014338-CH2-SW10

答案 1 :(得分:1)

我想这个:

 "details":
        {
            "XXXXXXXXXX.com.home.handoff":
            {
                "paths":["*"]
            }
        }

应该是这样的:

   "details": [{
        "appID": "XXXXXXXXXX.com.home.handoff",
        "paths": ["*"]
     }]

答案 2 :(得分:0)

我试图通过使用本地服务器(OTA https python服务器)使用SSL自行创建证书来使其工作,但它无效。我可以跟踪通信并收听通道,但在我尝试的不同测试中,从未要求过json文件,因此存在问题,即SSL证书。 转到:https://support.apple.com/en-gb/HT205205,因为苹果支持“并非所有根证书”(但大多数都是)。