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中找不到的主要内容,如果未能解决你的问题,请参考以下文章
如何将 int 从 iPhone 发送到 Apple Watch 标签(objective-c)