我尝试为我的 iOS 应用程序实现 Web-to-Native 切换。我上传了我的apple-app-site-association
文件,看起来还可以:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXXXX.com.myapp",
"paths": [ "/*" ]
}
]
},
"webcredentials": {
"apps": [ "XXXXXX.com.myapp" ]
},
"activitycontinuation": {
"apps": [ "XXXXXX.com.myapp" ]
}
}
通用链接和 Web 凭据都可以正常工作,但 Handoff 不能。当我在 macOS 上的 Safari 中打开我的 URL 时,我的 iOS 设备显示 Safari 的切换,而不是我的应用程序。我仔细检查了我的代码,我确实在权利中有所有条目,比如
activitycontinuation:alpha.mysite.com
我也试过
activitycontinuation:*.mysite.com
activitycontinuation:mysite.com
我实现-application:continueUserActivity:restorationHandler:
了方法,甚至在我的 plist 中添加了这些行:
<key>NSUserActivityTypes</key>
<array>
<string>NSUserActivityTypeBrowsingWeb</string>
</array>
但是 iOS 仍然在切换中显示 Safari,而不是我的应用程序。
这是我在设备控制台日志中发现的:
Dec 8 19:30:04 iPad-Valentine-2 swcd(CoreUtils)[255] <Notice>: Trying add of app ID 'XXXXXX.com.myapp' for get info
Dec 8 19:30:04 iPad-Valentine-2 swcd(CoreUtils)[255] <Notice>: ### Add service '<<NULL>>', app ID 'XXXXXX.com.myapp', domain '<<NULL>>' failed: -6727/0xFFFFE5B9 kNotFoundErr
但我不知道那是什么意思。