我已经为Android和iOS实现了深度链接,下面的方法在Android上工作得很好,但我在iOS上遇到了问题。
它会导航到应用链接页面,但会自动返回主界面。
下面是我的方法的实现。我一直在关注MSDN的深度链接。
protected override async void OnAppLinkRequestReceived(Uri uri)
{
string appDomain = "https://" + "mydomain.com".ToLowerInvariant() + "/";
if (!uri.ToString().ToLowerInvariant().StartsWith(appDomain, StringComparison.Ordinal))
return;
string pageUrl = uri.ToString().Replace(appDomain, string.Empty).Trim();
var parts = pageUrl.Split('?');
string page = parts[0];
string pageParameter = parts[1].Replace("id=", string.Empty);
var formsPage = Activator.CreateInstance(Type.GetType(page));
var jobItemPage = formsPage as JobDetail;
if (jobItemPage != null)
{
jobItemPage.BindingContext = new JobDetailViewModel(int.Parse(pageParameter));
await MainPage.Navigation.PushAsync(formsPage as Page);
}
base.OnAppLinkRequestReceived(uri);
}
下面是我的apple-app-site-association文件:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "MyTeamIdPrefix.com.deepLinking",
"paths": [ "*" ]
}
]
}
}
-
确保Apple Developer中的关联域已启用。
-
apple-app-site-association创建。并且内容中没有错误
-
启用关联域,并在"授权"中添加网站的域。plist文件。