分支通用链接工作在9.3设备与实时应用程序但不能在iOS 8设备实时和测试应用程序.在iOS 8设备,当我点击一个通用链接,它重定向通过Safari.
我试图让 iOS 通用链接工作https://my-domain.com:4443(即通过 SSL,但使用自定义端口号;而不是传统的 443 端口),但它不起作用。
我非常有信心我没有做错任何事情,因为我的初始设置在端口 443 上运行良好,我只是将服务器端口更改为 4443 来测试这个想法。事实上,我还在applinks:my-domain.com:4443我的 Xcode 项目中添加了对 的支持(我尝试了有和没有端口的情况,没有任何运气)。
我正在为我们的iOS应用程序实现通用链接实现。
这是我的一小部分AppDelegate:
private func application(_ application: UIApplication, openURL url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool {
DeepLinkHelpers.handleUniversalLink(url.absoluteString)
return true
}
private func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
DeepLinkHelpers.handleUniversalLink(userActivity.webpageURL?.absoluteString)
return true
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
signalRConnector.launch()
NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.processRestartSignalRNotification(_:)), name: NSNotification.Name(rawValue: "restartSignalR"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.reachabilityChanged(_:)),
name: ReachabilityChangedNotification,
object: reachability)
do {
try reachability.startNotifier()
} catch {
Logger.save(text: "Unable to start notifier")
}
return …Run Code Online (Sandbox Code Playgroud) 我在iOS中使用通用链接.它在Safari浏览器和消息中运行良好.
设置服务器
我有一台在线运行的服务器.为了安全地将我的iOS应用程序与服务器关联,Apple要求您提供名为apple-app-site-association的配置文件.这是一个JSON文件,描述了域和支持的路由.
apple-app-site-association文件需要通过HTTPS访问,无需任何重定向,https:// {domain}/apple-app-site-association.
该文件如下所示:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "**********.com.domain.appname”,
"paths": ["*"]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
注意 - 我没有将.json附加到apple-app-site-association文件名.
并成功设置了iOS应用程序.
我的要求是,我分享了从我的应用程序到Facebook的链接.当用户点击Facebook上的链接时,它应该在应用程序在手机上可用时打开应用程序,或者应该从浏览器打开.
现在我的问题是:
第1步:我分享了从我的应用程序到Facebook的链接.
第2步:我从Safari登录Facebook.当我点击链接时,它会成功打开我的应用程序.
第3步:如果我在Facebook应用程序中执行相同操作.它正在Facebook网页视图中打开.但我需要它来打开我的应用程序.
我对iOS通用链接通配符支持有疑问。
我的域中有几百个子域,例如:1. subdomain1.example.com 2. subdomain2.example.com 3. subdomain3.example.com ...
我将JSON文件放入根DNS @ https://example.com/apple-app-site-association中。我的目标是不需要在每个子域中添加JSON文件,而只需将其放入根目录即可。
似乎通配符支持实际上不需要在xCode授权PLIST中指定所有子域,而无需在服务器端使用通配符(只需在1处填充并完成)。
无论如何,是否在根目录中填充1个JSON文件以处理所有子域?
我想创建一个包含https://example.com 之类URL 的二维码,当用户扫描它时,如果他们在手机上安装了应用程序,则打开应用程序而不是转到浏览器。那可能吗?我已经查看了应用程序链接和通用链接,但我看不到它是通过二维码或 HTTPS 而不是某些自定义 URL 来触发的。
我正在尝试实现 iOS 通用链接,我需要在我的 WordPress 的根目录中提供一个 apple-app-association 文件。
如何Content-type: "application/pkcs7-mime"在 WordPress 中提供我的 apple-app-association 文件?
我试过直接上传,当然不行,因为我需要修改apple-app-association的Content-type为: Content-type: "application/pkcs7-mime"
我已经使用后端的别名子域和类似方案在我的 iOS 应用程序上设置了通用链接sudomain.mydomain.com. 我希望未安装该应用程序的用户能够重定向到我们在 App Store 中的页面,而不是访问我们服务器上一些不存在的端点(我们没有 Web 应用程序,只有移动后端)。
我正在考虑做这样的事情:
app.get('*', (request, response) => {
const domain = request.headers.host,
subdomain = domain.split('.');
if ( subdomain[0] === 'subdomain'){
response.redirect('www.linktoappstore.com');
}
...
});
Run Code Online (Sandbox Code Playgroud)
但是,我不希望这干扰确实安装了该应用程序的人的通用链接。通用链接get请求是发送到我的服务器还是 iOS 会在此之前拦截它们?
我正在研究在推送通知中使用通用链接以深度链接到 iOS 应用程序。这样我就可以为 Web 提供面向未来的证明。许多示例和教程假设用户将从网站中选择一个通用链接,以深入链接到应用程序。我想在推送通知中使用通用链接而不是常规的 URL 架构方法。我已阅读 Apple 文档 https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
但是,我目前不清楚如果我只是使用通用链接通过推送通知打开应用程序,是否还需要设置所有配置,例如创建和上传 apple-app-site-association 文件到 Web 服务器的根目录。
这种在推送通知中使用通用链接到应用程序区域的深层链接的方法是否是推荐的方法,因为 Apple 似乎一般不鼓励使用 URL 架构,还是推送通知是一种特殊情况?
我一直在尝试让通用链接在 iOS 上为 React Native 工作。
此处的文档说“在 iOS 上,您需要将 RCTLinking 链接到您的项目”。然后我被告知去node_modules/react-native/Libraries/LinkingIOS并将一个.xcodeproj文件拖到我的项目中。
Libraries文件夹中的任何库都没有任何.xodeproj文件。
有没有意思?我的react-native实例是否遗漏了什么?谷歌搜索这个问题根本没有发现 - 其他人.xcodeproj在他们的Libraries文件夹中有文件吗?