Objective C生成的接口头文件在WatchKit中找不到

Posted

技术标签:

【中文标题】Objective C生成的接口头文件在WatchKit中找不到【英文标题】:Objective C generated interface header file Not found in WatchKit 【发布时间】:2017-08-01 21:14:57 【问题描述】:

我目前正在努力在我当前的应用程序中添加 Apple Watch 应用程序。我添加了所需的配置文件并让它正常工作。

现在,我想在我的 Apple Watch 应用中使用来自 iphone 应用的一些类文件。我确实将目标成员中的 .m 文件添加到了 watchkit 扩展目标。 由于我要使用的文件位于 Objective C 类中,因此我继续为 Apple Watch 扩展目标创建了桥接头文件。

每次我运行应用程序时;我得到 $(SWIFT_MODULE_NAME)-Swift.h 文件未找到。我确实尝试按照此link 的步骤进行操作,但无济于事。我确实清理了构建文件夹;删除了派生数据,但它仍然给我同样的错误。

我是否特别错过了其他人尝试过并可以与我分享的任何东西? 我正在使用 Xcode 8 和 Swift 3。

【问题讨论】:

你试过了吗? ***.com/q/31557345/8402042 在我的项目中添加 Watch App 后问题开始出现。似乎 Xcode 在头文件之间感到困惑。我确实尝试了您建议的链接并且正在为我工​​作。如果我从手表应用程序中删除 iphone 类,则项目运行良好。 【参考方案1】:

所以我想出了答案并想在这里发布。

有几种方法可以解决此问题,但这取决于您想要做什么。

1) 使用 #IF TARGET_OS_ios 将允许您使用 iphone 中的课程观看。

2) 您还可以使用 WatchConnectivity 框架来发送和/或接收消息,也可以发送数据。这是 Apple 推荐用于设备之间连接的新框架。

希望这会帮助其他人试图解决这个问题。

【讨论】:

以上是关于Objective C生成的接口头文件在WatchKit中找不到的主要内容,如果未能解决你的问题,请参考以下文章

如何从 XML 模式生成 Objective C 类文件?

Objective C接口生成的头文件不能导入其他头文件

如何将 int 从 iPhone 发送到 Apple Watch 标签(objective-c)

在 Objective C 中从 web 目录加载多个图像

如何在 Objective-C 中的 OS2 中将数据从 Iphone 发送到 Apple Watch

Objective-C HealthKit 识别来源是来自 Apple iPhone 还是 Apple Watch