我试图让我的iOS应用程序在每次从服务器更新数据时向WatchKit Extension发送一组数据。
这是我的iOS应用程序中的代码(名称已更改)
[WatchKitDataModel loadDataFromSource: currentData]
但是,iOS应用程序无法识别WatchKitDataModel。
错误是"使用未声明的修饰符。"
请帮助我让我的应用程序互相交谈!
答案 0 :(得分:8)
确保您的违规类已添加到“文档”面板中的App目标和WatchKit目标
图片显示了TodayExtension,但原理是相同的。
答案 1 :(得分:1)
要在WatchKit Extension及其包含应用之间共享代码,请在您的应用中创建嵌入式框架。框架是Apple推荐的工具,用于在应用程序内和应用程序之间共享代码。
要在Xcode 6中创建嵌入式框架,请选择您的项目并转到文件>新>目标... 然后在打开的对话框中选择 iOS>框架&图书馆> Cocoa Touch Framework 。点击下一步。给它起一个名字,SomethingKit,类似于Apple使用的名称,例如: UIKit,HealthKit,WatchKit。现在,在新框架内的文件中创建新类和其他常用代码。如果您想在任何其他目标中使用它,即WatchKit扩展程序或其包含的应用程序,请不要忘记import SomethingKit
。
啊,不要忘记将public
access level提供给框架中面向公众的课程和功能。
有关用于共享代码的框架的更多信息,例如,框架中不能包含哪些内容,请参阅Apple的文章:Using an Embedded Framework to Share Code。
还有一个有趣的WWDC 2014会话视频:Building Modern Frameworks。