Syn*_*hro 5 app-store ios ios-universal-links
apple-app-site-association我正在尝试为共享一组公共路径的多个应用程序设置一个文件。Apple 提供的两套文档存在冲突。首先,该文档说每个应用程序都应该有自己的部分,然后有一个包含映射的 paths 元素:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
},
{
"appID": "ABCD1234.com.apple.wwdc",
"paths": [ "*" ]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
然后有一个 XCode 文档,它显示了完全不同的格式:
{
"applinks": {
"details": [
{
"appIDs": [ "ABCDE12345.com.example.app", "ABCDE12345.com.example.app2" ],
"components": [
{
"#": "no_universal_links",
"exclude": true,
"comment": "Matches any URL whose fragment equals no_universal_links and instructs the system not to open it as a universal link"
},
{
"/": "/buy/*",
"comment": "Matches any URL whose path starts with /buy/"
},
{
"/": "/help/website/*",
"exclude": true,
"comment": "Matches any URL whose path starts with /help/website/ and instructs the system not to open it as a universal link"
},
{
"/": "/help/*",
"?": { "articleNumber": "????" },
"comment": "Matches any URL whose path starts with /help/ and which has a query item with name 'articleNumber' and a value of exactly 4 characters"
}
]
}
]
},
"webcredentials": {
"apps": [ "ABCDE12345.com.example.app" ]
},
"appclips": {
"apps": ["ABCED12345.com.example.MyApp.Clip"]
}
}
Run Code Online (Sandbox Code Playgroud)
两个文档都没有任何日期或版本信息,因此我无法判断哪个文档更新或更正确。
appID 本身也令人困惑,因为这些标识符显然有多个来源,但并非所有来源都有效,尽管我现在不知道这是否是我的问题。
我正在从 提供我的文档/.well-known/apple-app-site-association,但我发现验证器会出现奇怪的验证失败,例如无法获取文件(尽管使用curl或浏览器获取文件效果很好),并且抱怨无法使用它进行验证openssl,这没有任何意义,因为它不包含任何与证书或签名模糊相关的内容。application/pkcs7-mime当文档既不是 MIME 也不是 PKCS7 格式时,为什么需要使用 MIME 类型进行传递?
看看Apple自己的AASA,我发现它使用了这两种格式!它也无法在我尝试过的所有验证器中进行验证,包括苹果自己的验证器!这很令人困惑。
该文档究竟应该如何格式化?
小智 2
就像您提到的,似乎有两种不同类型的apple-app-site-association,特别是在applinks键下:"appID"and"paths"与"appIDs"and "components"。我猜测其中之一可能是 Apple 为了向后兼容而支持的旧版 API。
我找到了相关文件components:
引用可用的内容components:
/:与 URL 路径组件匹配的模式。默认值为 *,匹配所有内容。
?:与 URL 查询组件匹配的模式或字典。默认值为 *,匹配所有内容。
#:与 URL 片段组件匹配的模式。默认值为 *,匹配所有内容。
exclude:一个布尔值,指示如果 URL 与关联模式匹配,是否停止模式匹配并阻止通用链接打开。默认为 false。
comment:系统忽略的文本。使用它来提供有关模式匹配的 URL 的信息。
caseSensitive:一个布尔值,指示模式匹配是否区分大小写。默认为 true。
percentEncoded:一个布尔值,指示 URL 是否采用百分比编码。默认为 true。
| 归档时间: |
|
| 查看次数: |
1182 次 |
| 最近记录: |