在不提示手表的情况下检查用户是不是连接了 AppleWatch
Posted
技术标签:
【中文标题】在不提示手表的情况下检查用户是不是连接了 AppleWatch【英文标题】:Check if user has AppleWatch connected without prompting the watch在不提示手表的情况下检查用户是否连接了 AppleWatch 【发布时间】:2016-02-13 20:04:48 【问题描述】:我们正在使用 Google Analytics,并想知道有多少用户拥有 AppleWatch。我已经在 Stack 中搜索了答案,而经常出现的答案是使用这个:
if WCSession.isSupported() // check if the device support to handle an Apple Watch
let session = WCSession.defaultSession()
session.delegate = self
session.activateSession() // activate the session
if session.paired // Check if the iPhone is paired with the Apple Watch
// Do stuff
这样做的问题在于它会提示用户'接受'AppleWatch 上的应用程序。诚然,无论用户是否接受,if 语句都是正确的,但我不希望用户抱有希望,认为该应用程序支持 AppleWatch。我只是想知道用户是否有 AppleWatch,我不想使用它。然而。 ios 设备上是否有可以访问的属性来显示用户是否已连接或曾经连接过 AppleWatch,而无需通过 Watch 提示用户?
【问题讨论】:
好问题。但我对此表示怀疑——它与大多数 iOS 安全模型背道而驰,以允许这种全球访问。 【参考方案1】:或许您可以使用(推送)通知,因为无需开发原生 applewatch 应用即可在手表上接收通知。例如,我在手表上收到“whats app 消息”,但手表上也没有任何本机应用程序。
在您的 watchkit 扩展 ExtensionDelegate.m 中,您可以单独处理提供的推送消息答案。 Link to Apple
这将是一种(另一种)方法,您必须发挥创造力!
【讨论】:
但这对我有什么帮助?我可以跟踪通知将发送到哪里,但实际上没有发送吗?要么我没听懂你的回答,要么你没听懂我的问题。我想知道 iPhone 是否与 AppleWatch 连接在手表上没有显示任何内容。 可能两者兼而有之,我在上面编辑了我的答案,使其更加具体。我假设您正在使用带有 Google Analytics 的 iOS 应用,并且您的应用也支持远程通知。 遗憾的是,此应用没有通知。无论如何,这也将假定用户接受来自应用程序的通知,而我的问题是检查 AppleWatch,而不管通知设置如何。但这是个好主意(如果可行的话)!以上是关于在不提示手表的情况下检查用户是不是连接了 AppleWatch的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中检查 File.Delete() 是不是会在不尝试的情况下成功?
如何在不检查应用程序状态的情况下确定是不是点击了 UILocalNotification?
如何在不创建组件的情况下从 laravel 刀片视图文件扩展 app.js 方法/数据/手表