问题标签 [apple-watch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - WatchKit(Watch)的基于页面的界面中的页码?
我创建了一个带有Page-Based Interface的 WatchKit 应用程序。
有 3 个页面,每个页面都连接到我的InterfaceController.swift类(它扩展了 WKInterfaceController)。
我的问题:在 InterfaceController.swift 中如何检测当前视图的页码?
ios - Apple Watch 设置背景图片
如何以编程方式设置我的 WatchKit App 背景图像?我需要在代码中设置它,因为它会根据可变大小而变化,我们需要在图像上放置一个标签。
swift - 尝试将 CLLocation 对象传回 iOS 应用程序扩展时,字典变为 nil
我正在尝试将存储的CLLocation
对象从我的 iOS 应用程序传递回扩展程序(在这种情况下:Apple Watch 扩展程序)。
为此,我在扩展代码中使用类中推荐的openParentApplication(userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!, NSError!) -> Void)!) -> Bool
函数。WKInterfaceController
我通过应用程序委托的application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!)
功能在我的 iOS 应用程序中成功接收了请求。
现在,我正在尝试使用以下代码将数据传递回应用程序扩展:
所有这些代码都在 iOS 应用程序的上下文中执行,并且一切正常。但是,当reply
在扩展的上下文中调用函数时,字典最终会变为nil
.
我意识到有故障的线路是这个:
当这一行被注释时,扩展成功地获得了一个字典,其中包含两个前两个项目作为字符串("hasLoc"
和"locStr"
):
所以似乎CLLocation
在我的字典中插入一个对象会使它全部失败并成为nil
,但我不明白为什么。我究竟做错了什么?
谢谢你的帮助。
编辑:根据@matt 的要求,这是以下代码getLastKnownLocation()
:
ios - 从手表应用启动主机应用
我知道openParentApplication
手表套件扩展中的 api 可以在后台打开主机应用程序,但不能在前台打开。
我也尝试使用如下openUrl()
的api NSExtensionContext
:
这里也没有启动主机应用程序。我错过了什么吗?还是无法从手表套件扩展启动主机应用程序?
ios - Apple Watch 应用程序:在后台通过父 iOS 应用程序运行 MKDirectionsRequest?
我正在编写一个 Apple Watch 应用程序,有时我需要获取有关从用户当前位置到特定地点的步行或驾驶距离的信息。
正如 Apple 在其Apple Watch Programming Guide中所建议的那样,我通过openParentApplication
从 Apple Watch 调用并handleWatchKitExtensionRequest
在 iOS 应用程序端实现该功能,将所有艰苦的工作委派给 iOS 应用程序。因此,iOS 应用负责:1) 使用 MapKit 计算到目的地的路线,以及 2) 将获取的距离和预期时间返回给 Apple Watch。
这个操作是通过 MapKit 进行的MKDirectionsRequest
,它往往是“慢”的(比如 1 或 2 秒)。如果我直接在 iOS 应用程序中使用相同的参数测试我的代码,那么一切正常:我得到了预期的时间和距离响应。但是,在 Apple Watch 应用程序内部,回调(reply
的参数openParentApplication
)永远不会被调用,并且设备永远不会取回它的信息。
更新 1:由更新 3 替换。
更新 2:实际上,我一开始怀疑没有超时,但它似乎只有在 iOS 应用程序在 iPhone 上的前台运行时才有效。如果我尝试从 Apple Watch 应用程序运行查询而不接触 iPhone 模拟器上的任何东西(即:应用程序在后台被唤醒),那么什么也不会发生。只要我在 iPhone 模拟器上点击我的应用程序图标,将其放在最前面,Apple Watch 就会收到回复。
更新 3:根据 Duncan 的要求,以下是所涉及的完整代码,重点是丢失执行路径的位置:
(在课堂上WatchHelper
)
(在课堂上LocationHelper
)
更新 4:iOS 应用程序显然设置为能够在后台接收位置更新,如下面的屏幕截图所示:
所以现在的问题变成了:有没有办法“强制”MKDirectionsRequest
在后台发生?
ios - 如何从 Apple Watch 调用 iPhone 上定义的方法
有没有办法从 Watchkit 扩展调用 iPhone 上的类中定义的方法?
据我了解,目前Watch kit和iPhone之间进行本地通信的一种方式是使用NSUserDefaults
,但是还有其他方式吗?
一个简单的例子会很棒。
ios - 如何在 Xcode 中创建 Apple Watch 应用或配置 Apple Watch 应用
如何使用 Xcode 创建 iWatch 应用程序?或者如何在现有项目中配置 iWatch?
ios - 如何在 Apple Watch 上的地图视图中添加自定义地图图钉?
我开始为 Apple Watch 编写代码,我想知道我该怎么做:
谢谢!
ios - 删除“DerivedData”后,Xcode 不会添加“嵌入式二进制”
辅助搜索的替代标题:
- 在 Xcode 中添加嵌入式二进制文件失败
- Xcode 不会从单独的项目链接框架
- 由于缺少框架,应用程序在设备上崩溃,在模拟器中工作
概述
在 xcode6 中删除“DerivedData”文件夹(或执行“Product > Clean”)后我无法将另一个项目中的 CocoaTouch 框架添加到“Embedded Binary”部分(在 General 选项卡下)。
或者,Xcode 遇到链接器错误,因为它找不到以前可以找到的框架。
其他症状
单击“Embedded Binaries”下的 + 会显示框架选择器,但在工作区的不同项目中选择框架不会执行任何操作。
ios - 如何检查iPhone和Apple Watch是否连接
有什么方法可以在 Apple Watch 中通知用户 iPhone 现在超出范围以及何时返回范围。我们如何在手表扩展中做到这一点。
提前致谢。