Tag: watch os 2

Apple Watch的预处理器macros?

我正在研究苹果的李斯特(苹果手表,iOS和OS X)示例。 该示例对iOS和OS X执行testing: #import <TargetConditionals.h> #if (TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR) @import ListerKit; #elif TARGET_OS_MAC @import ListerKitOSX; #endif 但是,没有对TARGET_OS_WATCH或类似的testing。 在TargetConditionals.h清理watch不会造成任何影响: $ cat /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer /SDKs/iPhoneOS7.1.sdk/usr/include/TargetConditionals.h | grep -i watch $ 从TargetConditionals.h ,我知道有: 这些条件指定生成的代码将在哪个操作系统中执行 跑。 MAC / WIN32 / UNIX条件是相互排斥的。 EMBEDDED / IPHONE 条件是TARGET_OS_MAC的变体。 TARGET_OS_MAC – 生成代码将在Mac OS下运行 TARGET_OS_WIN32 – 生成的代码将在32位Windows下运行 TARGET_OS_UNIX – 生成代码将在一些非Mac OS X unix下运行 TARGET_OS_EMBEDDED […]

WCSession sendMessage:replyHandler错误代码7014(WCErrorCodeDeliveryFailed)

我有一个Watch OS 2应用程序,通过WCSession方法sendMessage:replyHandler:errorHandler:与iOS应用程序进行通信sendMessage:replyHandler:errorHandler: iOS应用程序正确回复,但我得到错误与域WCErrorDomain代码7014 :“有效载荷无法传递” 当iOS应用程序不是前台时更经常发生这种情况。 我没有find任何解决这个问题的办法,我希望你们中的一个知道解决这个问题的方法

在Swift中检测可用的API iOS与watchOS

区分watchOS和iOS时, #available似乎不起作用。 以下是iOS和watchOS共享的代码示例: lazy var session: WCSession = { let session = WCSession.defaultSession() session.delegate = self return session }() … if #available(iOS 9.0, *) { guard session.paired else { throw WatchBridgeError.NotPaired } // paired is not available guard session.watchAppInstalled else { throw WatchBridgeError.NoWatchApp } // watchAppInstalled is not available } guard session.reachable else { throw […]

如何在iOS中识别不同的连接手表

从watchOS> = 2.2 ,iOS> = 9.3 iOS设备可以通过sessionDidDeactivate: , sessionDidBecomeInactive:连接多个手表设备。 但是,这些代表电话没有提供身份。 有没有系统的方法来识别不同的手表。 我必须手动操作吗? 例如,检查新连接的手表是否具有身份,如果不给它新的身份证。 收到一个ID后,手表也需要保存在某个地方。 在这种情况下, NSUserDefaults听起来是个好地方。

是否有可能连接Xamarin IOS应用程序与迅速watchOS扩展

我已经在swift下开发了一个WatchOSExtension,可以将它连接到一个新开发的xamarin ios项目吗?

获取Apple Watch的服务器数据

我想知道如何去devise一个watchOS应用程序,取决于从服务器获取最新的饲料。 您是否需要使用应用程序上下文,并让iPhone使用WatchConnectivity框架将其推到后台,还是在Apple Watch上使用NSURLSession? 请记住这是为了watchOS 2。

WatchOS2 WCSession sendMessage不会唤醒iPhone在后台

这是在模拟器和真实的物理设备iphone5s上进行testing。 我试图使用WCSession的sendMessage从WatchOS2扩展到iPhone的iOS9代码进行通信。 当iphone应用程序在前台和后台模式下运行时,它运行良好。 但是,如果我杀了iPhone应用程序(根本不运行应用程序),那么我总是得到errorHandler超时。 所以Watch不能再与iPhone通信。 “错误域= WCErrorDomain代码= 7012”消息回复花费了太长时间。“UserInfo = {NSLocalizedDescription =消息回复花了太长时间,NSLocalizedFailureReason =回复超时发生}”。 我认为它应该在后台唤醒iPhone应用程序。 任何想法什么解决这个问题或解决它? 谢谢!

如何在使用CoreData时与Watch OS 2共享数据以显示在WKInterfaceTable中

我正在使用WatchConnectivity尝试将名为arrayOfOjects NSManagedObjecttypes的数据发送到Watch。 每个object都有一个名为title的string属性。 Watch上的InterfaceController加载并显示并清空表 – 因为数组是空的,所以当用户请求数据时,使用手机上的didReceiveMessage方法发送数据。 我不确定如何将字典数组添加到WKInterfaceTable以显示在WKInterfaceTable 。 有谁知道如何将数据发送到手表来显示在表中进行更改,并与手机同步回来? Apple Watch: class ObjectsInterfaceController: WKInterfaceController, WCSessionDelegate { var session : WCSession! var objectsArray = [[AnyObject]]() @IBOutlet var table: WKInterfaceTable! @IBOutlet var titleLabel: WKInterfaceLabel! func loadTableData() { table.setNumberOfRows(self.objectsArray.count, withRowType: "CellRow") if self.objectsArray.count > 0 { for (index, name) in self.objectsArray.enumerate() { let row = self.table.rowControllerAtIndex(index) as! CellRowController […]

WatchOS 2:“无法安装观看应用程序”错误启动“TestApp WatchKit应用程序扩展”

每当我尝试在Xcode 7 beta 4中安装一个watchOS 2应用程序时,iOS上都会出现AlertViewpopup错误: 无法安装观看应用程序 TestApp安装在您的iPhone上,但Apple Watch的TestApp应用程序目前不可用。 我也尝试通过Apple Watch iOS应用程序安装watchOS应用程序,但是我得到了同样的错误。 而当我尝试运行watchOS的目标,我得到这个: 启动“TestApp WatchKit应用程序扩展”时出错 安装错误。 查看iPhone控制台了解更多详情。“ 我检查了iPhone控制台,没有额外的细节。 我重新安装Xcode,删除并重新添加所有模拟器,重置模拟器的内容和设置…没有任何工作。 我也创build了一个全新的项目。 这发生在模拟器和运行iOS 9 beta 4和watchOS 2 beta 4的物理设备/手表上。 有没有人想出了一个修复或解决方法呢? 谢谢!

WatchKit Complication:从扩展委托获取Complication数据

我有我的WatchKit扩展中需要的所有数据(从iOS应用程序传递)。 我使用WatchKit InterfaceController的数据来填充表格,该表格完美地工作。 我试图找出在WatchKit ComplicationController获取相同数据的最佳方法。 目前,在InterfaceController ,使用didReceiveUserInfo传入数据: func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) { if let beachValue = userInfo["Surf"] as? String { places.append(Place(dataDictionary: ["Surf" : surfValue])) } else { print("Something went wrong") } } 我是否需要在我的ComplicationController调用这个相同的WCSession方法,并再次执行整个数据抓取, 还是有更简单的方法让我访问相同的数据以便在ComplicationController使用? 任何帮助赞赏。 谢谢! 编辑 : 我的表function: func makeTable() { // Per SO let myDelegate = WKExtension.sharedExtension().delegate as! ExtensionDelegate […]