草庐IT

watchos-3

全部标签

ios - watchOS 应用程序在前台时处理推送通知?

我正在构建iOS+watchOS应用程序,这些应用程序需要通知用户有关iOS和watch应用程序状态的所有可能组合的更新信息:当iOS和watchOS都在前台运行时,当它们都在运行时背景,以及其中一个或另一个在背景中的时间。我成功地处理了这四种情况中的三种的推送通知。我被卡住的地方是当watch应用程序在前台打开但iOS应用程序在后台时-我找不到watch通知Controller,它的ExtensionDelegate或iOSAppDelegate的任何方法在这种情况下推送远程通知。在iOSAppDelegate中,当iOS应用程序处于前台且watch应用程序处于任一状态时推送通知时会

swift - watchOS WCSession 'paired' 和 'watchAppAvailable' 不可用

我正在尝试使用单例来管理我发现的WCSession消息here.我明白它试图做什么,但我不明白为什么我会收到错误...这是我正在努力解决的问题:ifletsession=sessionwheresession.paired&&session.watchAppInstalled{错误:“watchAppInstalled”不可用错误:“已配对”不可用问题:如何使这些属性可用?watchOS和ios的一般新手。谢谢!完整代码:importWatchConnectivityclassWatchSessionManager:NSObject,WCSessionDelegate{staticle

swift - WatchKit:reloadRootControllers 没有删除 Controller (对象仍然存在,我希望它被销毁)

我正在尝试在WatchKit中实现一个登录方案(无论用户是否在他的Watch中输入数据在这里都不是问题),这意味着在登录后,用户应该看到一个不存在的View不要让他回到登录界面(左上角没有)如果用户被踢出他们的session(例如,当未支付订阅费用时),我希望该应用返回到登录屏幕。从登录屏幕重定向到主屏幕工作正常使用DispatchQueue.main.async(){[weakself]inWKInterfaceController.reloadRootControllers(withNames:["mainController"],contexts:[values])}但是当我尝试

swift - 任何不一致的类型转换?在可选绑定(bind)期间进入 Swift 中的协议(protocol)

我在使用一些强制转换为协议(protocol)的Swift可选绑定(bind)时遇到了问题。我在playground中有以下代码,运行良好。protocolCodeCollection{varname:String{get}varcodes:[String]{get}}structVirtualDoors:CodeCollection{varname="VirtualDoors"varcodes:[String]=["doorNumba1","doorNumba2"]}//InstanceofVirtualDoorsletdoors=VirtualDoors()//castintoAn

ios - WatchOS3中SKShapeNode添加手势

我可以在SpriteKit场景中添加手势。但无法向我在场景中的节点之一添加手势。此外,touchesBegan方法在WatchKit中不可用。所以在我的界面中添加了gestureRecognizer并将其传递到SpriteKit场景中。但这导致将panGesture添加到整个场景而不是我的节点。有没有办法只将手势添加到我的一个节点? 最佳答案 您永远不会向节点添加手势。您只能向任何可以识别手势的东西添加手势。在UIKit中,这些是UIView在Watchkit中,这些是WKInterfaces现在你想在Watchkit中做的是,当手

ios - Bitcode WatchOS3 - 如何生成

我正在尝试将watchOS3应用程序上传到苹果商店,但是我收到了类似下面的拒绝(来自苹果)无效的可执行文件-可执行文件“someWatchExtension”不包含位码。更正这些问题后,您就可以重新交付更正后的二进制文件。我该如何解决这个问题?似乎bitcode是强制性的,因为Xcode中不再为我的watch应用程序build设置以简单地“启用Bitcode=No”。我也尝试过从我的WatchExtensions目录中查看运行swiftc-embed-bitcode*.swift,但我收到以下内容MyController.swift:9:8:错误:没有这样的模块'WatchKit'导入

swift - 我可以使用 App Center 在 Swift 中发布我的 Apple Watch 应用程序 (iOS/watchOS) 以进行 Beta 测试吗?

我是一名经验丰富的S/W工程师,但刚接触Apple,希望将我的应用分发给使用WindowsPC(非Mac)的远程测试人员进行Beta测试。我知道其他测试版系统(Crashlytics)不支持watchOS,所以我在深入研究AppCenter之前先问问这个问题。 最佳答案 原则上,这是可行的,是的。但是,VisualStudioAppCenter目前尚不支持使用多个配置文件进行构建和签名,因此您无法使用云构建功能来实际构建您的应用。与此同时,如果您在本地或使用其他一些CI解决方案构建您的应用程序,则绝对可以通过AppCenter上传和

ios - WatchOS 2 并发症计划在后台更新

所以,经过如此多的测试和在线研究,我不得不放弃并寻求帮助。WatchOS2并发症。所以我正在尝试创建一个显示更新时间的基本复杂功能。我知道后台更新是有预算的,所以我尝试每10分钟更新一次时间。希望收集NSDate很简单,这不会导致我“超出预算”。我暂时忽略时间旅行并提供时间线。相反,我只是简单地用当前时间填写大型模块模板:funcgetCurrentTimelineEntryForComplication(complication:CLKComplication,withHandlerhandler:(CLKComplicationTimelineEntry?)->Void){然后我有

swift 2 : How to keep iOS and watchOS2 apps synchronized with WatchConnectivity?

我在iOS和WatchOS上制作了一个计数应用程序,我希望应用程序能够同步。当我指望WatchOS时,iOS标签上的数字必须与WatchOS上的数字相同,当我指望iOS时,WatchOS标签上的数字必须与一个iOS上的数字相同。这两个中的一个正在工作,当我依靠iOS时,WatchOS上的标签正在改变,这意味着它正在工作,但是当我依靠WatchOS时,iOS的标签没有改变。代码如下:ViewController.swiftimportUIKitimportWatchConnectivityclassViewController:UIViewController,WCSessionDele

ios - 使 SwiftyUserDefaults 数组可供 iOS 和 watchOS 应用程序访问

我正在使用优秀的SwiftyUserDefaults,NSUserDefaults的包装器,使用Swift允许我的应用程序保留特定的数据数组,就像这样(删除了大量代码以仅显示重要部分:工作代码importSwiftyUserDefaults//ThefollowingistoshowimplementationintheparentiOSapp.Itworksfine.classViewController:UICollectionViewController{vararrayToStore=DefaultsKey("arrayToStore")overridefuncviewDidL