我尝试为我的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" ]
}
}
通用链接和网络凭据都可以正常工作,但是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
但我无法找出这意味着什么。