【发布时间】:2016-08-06 02:08:22
【问题描述】:
我目前正在开发一个包含 watchOS 应用扩展的 iOS 应用。在我的 iOS 应用程序中,我创建了一个 NSObject 子类,它在一些方法中使用了来自 AVFoundation 框架的一些对象。
在 Watch Extension 方面,我正在创建一个 NSDictionary 对象,然后使用 WatchConnectivity 框架将其发送到我的 iOS 对应对象。然后我使用dictionary 来初始化我的自定义类。
我希望能够将我的 Watch Extension 添加为我的自定义类的 .m 文件的目标之一,以便我可以继续在手表上创建我的自定义类的对象,然后将其发送过来。 (我的类符合NSCoding 协议,因此我可以使用NSKeyArchiver 来使用NSData 表示我的对象,将其添加到字典中,然后将该字典传输到iOS 设备)。
问题:AVFoundation 在我的班级使用的watchOS 中不可用。那么有没有办法“省略”类的某些方法,具体取决于它所在的操作系统。
例如:在 iOS 中,UIImage 具有方法 initWithCIImage:,但它在 watchOS 中不可用,因为 CoreImage 框架不可用。
(也许我应该使用所有相同的实例变量专门为watchOS 重新创建类,并为NSCoding 方法中的类使用相同的键,从watchOS 版本中省略AVFoundation?)
任何帮助将不胜感激!
【问题讨论】:
标签: ios objective-c apple-watch nscoding watchos