Universal Links方式:私有化部署服务器来托管apple-app-site-association

  • 第一步:开启Associated Domains服务
  • 第二步:配置Associated Domains(域名)
  • 第三步:服务器配置apple-app-site-association文件
  • 第四步:在微信开放平台配置通用链接
  • 第五步:在HBuilderX中配置通用链接提交云端打包


第一步:开启Associated Domains服务

登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID,确保开启Associated Domains服务

Office 365私有化部署 app私有化部署_ios


开启Associated Domains服务后需要重新生成profile文件,提交云端打包时使用

第二步:配置Associated Domains(域名)

使用HBuilderX云端打包时在manifest.json中配置域名
在"plus" -> “distribute” -> “apple” -> “capabilities” -> “entitlements"节点(uni-app项目在"app-plus” -> “distribute” -> “ios” -> “capabilities” -> “entitlements”)下添加"com.apple.developer.associated-domains"字段,字段值为字符串数组,每个字符串为要关联的域名

"capabilities": {    
        "entitlements": {    
            "com.apple.developer.associated-domains": [    
                "applinks:domain.com"    
            ]    
        }    
    }

其中domain.com是应用通用链接的域名(这里不要包含path),请修改为自己应用要使用的域名
保存后提交云端打包生效。

第三步:服务器配置apple-app-site-association文件

需要在上面域名对应的服务器上放apple-app-site-association文件。
apple-app-site-association文件配置如下:

{    
    "applinks": {    
        "apps": [],    
        "details": [    
            {    
                "appID": "*App ID Prefix*.*Bundle ID*",    
                "paths": [ "/app/*"]    
            }    
        ]    
    }    
}

apps: 必须对应一个空的数组

appID:由App ID Prefix和Bundle ID两部分组成,中间用"."连接,可以登录苹果开发者网站,在“Certificates, Identifiers & Profiles”页面选择“Identifiers”中选择对应的App ID查看

paths:对应域名中的path,用于过滤可以跳转到App的链接,支持通配符*,?以及NOT进行匹配,匹配的优先级是从左至右依次降低

注意:不要直接拷贝使用上面的示例,必须根据自己的App ID Prefix和Bundle ID修改

把配置好的apple-app-site-association文件上传到你自己的服务器,确保通过https://domain.com/.well-known/apple-app-site-association可访问。
其中domain.com为第二步配置的域名
应用安装后会通过访问上面的url向系统注册应用的通用链接。

第四步:在微信开放平台配置通用链接

打开微信开发平台,在“管理中心”页面的“移动应用”下找到已经申请的应用(没有申请应用请点击“创建移动应用”新建应用),点击“查看”打开应用详情页面。
在“开发信息”栏后点击修改,在“iOS应用”下的“Universal Links”项中配置应用的通用链接
Universal Links通用链接:https://domain.com/app/
其中domain.com为第二步配置的域名

第五步:在HBuilderX中配置通用链接提交云端打包

将上一步在微信开放平台配置的通用链接地址配置到应用manifest.json中,注意通用链接地址必须完全一致(本地离线打包忽略此操作)

打开项目的manifest.json文件,在“(App) SDK配置”项中的微信登录(微信分享、微信支付)下的“iOS平台通用链接(Universal Links)”中配置:

如果使用了微信分享和微信支付,也需要分别配置微信分享和微信支付下的“iOS平台通用链接(Universal Links)”,并且配置的值必须相同
Universal Links通用链接:https://domain.com/ulink/
其中domain.com为第二步配置的域名

保存后需提交云端打包生效。

至此,打包好的ipa安装包可以正常分享