Tag: watch os 2

我可以build立自己的networking框架(依赖于AFNetworking)作为watchOS2框架吗?

我一直在试图修改我的项目来支持WatchOS2架构。 目前我有一个基于AFNetworking的networking框架。 到目前为止,我一直在使用我的手表应用程序。 现在我正在尝试构buildwatchos / watchsimulator平台的框架。 我得到的是一些AFNetworking类的“SystemConfiguration / SystemConfiguration.h”文件找不到错误。 我知道系统configuration不是watchOS2可用的系统框架之一。 而对于networking苹果说 : 联网 支持基于networking的操作包括以下技术: WatchKit扩展可以使用NSURLSession对象直接访问networking。 WatchKit扩展可以完全访问NSURLSessionfunction,包括在后台下载文件的能力。 有关如何使用此类的信息,请参阅URL加载系统编程指南。 Watch Connectivity框架支持Watch应用程序和iOS应用程序之间的双向通信。 使用此框架来协调这两个应用程序之间的活动。 有关更多信息,请参阅与您的Companion iOS应用程序通信。 我想支持iOS和watchos为我的networkingsdk。 有没有办法使这个项目为watchOS平台build立? 或者是这意味着我只允许在我的手表应用程序内使用NSURLConnection?

提交Apple Watch应用时出现MinimumOSVersion错误

我试图提交我的应用程序,但看到这个错误信息: 错误ITMS-90455“无效的WatchKit应用程序包。不支持{{redacted} .watchkitapp中的info.plist中MinimumOSVersion项的值”2.1“ 我已经更新Xcode,但它仍然无法正常工作。 更新: 我总是有与您的设置相同的错误信息。

iOS 9和WatchOS 2上的NSUserDefaults(suiteName :) – 不工作?

我以前做过,但似乎没有任何工作。 这是我的代码: 保存在iOS应用程序中 let groupDefaults = NSUserDefaults(suiteName: "group.company.appSharedDefaults") groupDefaults?.setObject(theArray, forKey: "theKey") groupDefaults?.synchronize() 阅读(适用于iOS,但不适用于WatchOS 2) let groupDefaults = NSUserDefaults(suiteName: "group.company.appSharedDefaults") if groupDefaults!.objectForKey("theKey") != nil { textEmojiArray = NSMutableArray(array: groupDefaults!.objectForKey("theKey") as! NSArray) } else { //error } 这两个.entitlements文件都包含group.company.appSharedDefaults 应用程序组function已打开,并在两个目标上都检查了适当的组。 现在,当我在手表上运行读取代码时,objectForKey返回nil,但它在iOS上可用(设备和模拟器结果相同)。 我错过了什么!

通过WatchConnectivity发送数据时有效载荷有多大?

使用WatchConnectivity框架发送数据时,无论是从手机还是手表,或者相反,在框架给我提供WCErrorCodePayloadTooLarge错误之前,有效载荷有WCErrorCodePayloadTooLarge ? 我找不到苹果的文档上的答案,目前在互联网上似乎没有太多的信息(实际上,使用GooglesearchWCErrorCodePayloadTooLarge给了我4个结果)。 有没有人testing过试图find答案? 如果这个问题没有得到答案,我会尝试自己做,并发布结果。 到目前为止,我拥有的所有信息都可以支持大于30 MB的文件。 我想这是因为我在iPhone上拍了很多原始照片,通常都是36MB大小,而且总是出现在手表的照片应用中。 作为参考, WCSession的文档具有以下对WCErrorCodePayloadTooLarge描述: 指示正在发送的项目超出最大大小限制的错误。 数据字典和文件都可能出现这种types的错误。 可用于watchOS 2.0及更高版本。

何时何地获取Watch Complication的数据

在处理了几天的复杂问题之后,我有信心对以下更新过程进行如下说明: 系统调用requestedUpdateDidBegin() 这是您可以确定您的数据是否已经改变的地方。 如果没有,你的应用程序不必做任何事情。 如果你的数据发生了变化,你需要调用: 如果所有数据都需要重置,则reloadTimelineForComplication 。 extendTimelineForComplication如果您只需要将新项目添加到并发症时间线的末尾。 注意:如果你在一天中花费了太多复杂的时间预算,系统实际上可能会调用requestedUpdateBudgetExhausted()而不是requestedUpdateDidBegin() 。 这是这个问题的原因。 如果您调用了reloadTimelineForComplication ,系统将调用getCurrentTimelineEntryForComplication (以及取决于您的时间旅行设置的将来和过去的变体) 这是猜测,因为我还没有testing过,但我相信,如果你调用extendTimelineForComplication ,只有getTimelineEntriesForComplication(… afterDate date: NSDate …)将被调用。 然后系统会调用getNextRequestedUpdateDateWithHandler这样你可以指定多长时间,直到你的并发症需要一个新的更新。 苹果的文档很清楚,你不应该要求更新太频繁,或在复杂的代码中进行太多的处理,否则你将耗尽你的时间预算,你的复杂化将停止更新。 所以,我的问题是:何时何地进行更新? 对于上下文,我的情况是一个URL,返回数据每小时更改两次。 URL提取代码最明显的位置是func requestedUpdateDidBegin()获取数据并存储,如果没有改变,就返回。 如果有变化,则延长或重新加载时间表。 但是,url提取可能代价高昂。 备择scheme: 将代码放在电话应用程序中,并通过WCSession发送,但是如果用户closures了该应用程序,那么更新将不再发生。 使用推送更新,但这不是一个Web应用程序,所以我没有地方发送它们。 显然,当用户与手表应用程序交互时,我会更新所有的数据,但是现在意味着只有在用户使用应用程序时才会更新,这不需要复杂的操作。 还有其他地方吗? 我可以在手表应用程序中有一个周期性的function,而不是复杂的一部分? 哪里是获取并发症更新数据的正确位置?

Xcode 7支持手表OS1和OS2

我已经有一段时间摆弄Xcode 7,我知道它只支持Swift 2,并且没有办法在Xcode 7中支持Swift 1.0或1.2。这很好。 现在来看看WatchOS,我可以在Xcode 7中分别为WatchOS1和WatchOS2两个目标,这样我就可以同时支持这两个目标了。 我正在调查watch目标和iOS应用目标的构build设置中的部署目标设置,但是我只能在列表中看到WatchOS2 我可以在Xcode 7中分别支持WatchOS1和WatchOS2两个目标吗? 如果是的话,我应该在某个地方安装WatchOS1 SDK? 或者这完全不可能,如果不是为什么? 如果两个目标都可以得到支持,那么我怎样才能防止两个目标的源重复,因为两个操作系统在架构方面都有显着差异。 另外自从引入WatchConnectivity框架之后,iOS对手的应用程序也会有一些变化,如何保持这两个目标呢? 我很困惑,我需要迅速作出决定,任何帮助表示赞赏。

在WatchOS2中使用WatchConnectivity在iOS和WatchOS之间发送消息

我观看了WWDC2015,看到您现在可以在手表上开发原生应用程序。 这开辟了很多的function,我想知道如何可以在我的iOS应用程序和我的AppleWatch应用程序之间发送数据。 我看到有一个名为WatchConnectivity的新框架。 我怎样才能使用这个function,来回发送数据时有什么select?