如何将 watchOS Swift 目标添加到用 Objective-C 编写的 iOS 应用程序中

Posted

技术标签:

【中文标题】如何将 watchOS Swift 目标添加到用 Objective-C 编写的 iOS 应用程序中【英文标题】:How to add a watchOS Swift target to an iOS app written in Objective-C 【发布时间】:2020-10-11 17:59:01 【问题描述】:

我正在尝试向“Hello World”React Native ios 应用程序添加一个基本的watchOS 目标。似乎 React Native iOS 应用程序是用 Objective-C 编写的,但我想在我的 watchOS 应用程序中使用 Swift。如果我在添加 watchOS 目标时选择 Objective-C,一切正常。但是,如果我使用 watchOS 目标选择 Swift,我的 WatchApp 扩展中会出现以下错误:

Command Compile SwiftSources failed with nonzero exit code

有没有办法将 Swift watchOS 目标添加到 React Native iOS 应用程序或任何其他用 Objective-C 编写的应用程序?

【问题讨论】:

阅读完整的构建日志,会有更多关于编译失败原因的信息。 【参考方案1】:

我能够通过更改 Swift 目标的构建设置中的 Library Search Paths 来解决此问题。

在您的项目中选择构建设置菜单,然后找到 库搜索路径 设置。 (您需要确保选择了“全部”过滤器,否则您将看不到此设置)。在它的值中,您会看到两个链接,仅使用第一个链接...将 ov Library Search Paths 的值设置为:"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)"

这对我有用??

【讨论】:

以上是关于如何将 watchOS Swift 目标添加到用 Objective-C 编写的 iOS 应用程序中的主要内容,如果未能解决你的问题,请参考以下文章

为 iOS 和 watchOS 创建框架目标

Objective C iOS 项目 + Swift 2 WatchOS 项目和 Cocoapods

如何在Swift 4中的watchOS 4上激活振动

如何将演示应用程序目标添加到 Swift 包?

Xcode 7 支持 watch OS1 和 OS2

如何在 WatchKit 扩展目标(XCode7 beta 6)中重置 watchOS 部署目标