我正在和iOS和WatchOS一起工作。
我有一些正在iPhone上创建并发送到Apple的结构。该结构的目标成员资格既属于iOS应用程序,也属于WatchKit扩展。
我想为这些只能在WatchKit扩展中访问的结构定义一个协议属性:
var complicationTimelineEntry: CLKComplicationTimelineEntry? { get }CLKComplicationTimelineEntry是ClockKit框架的一部分,在iOS上是不可用的,所以我无法编译。
有办法这样做吗?还是我应该放弃一刀切的方法来解决这个问题?
目前,我正在用另一个协议为WatchOS端的结构创建一个扩展。它起作用了,但它比我想的要多几步。
发布于 2019-04-11 17:25:06
你可以这样做:
protocol xyz {
#if os(watchOS)
var complicationTimelineEntry: CLKComplicationTimelineEntry? { get }
#endif
.
.
.
}如果基本上检查应用程序运行的操作系统是什么。
其他可用选项-- os(iOS)、os(tvOS)和os(OSX)
https://stackoverflow.com/questions/55637833
复制相似问题