为 iOS 和 watchOS 创建框架目标

Posted

技术标签:

【中文标题】为 iOS 和 watchOS 创建框架目标【英文标题】:Creating framework targets for iOS and watchOS 【发布时间】:2018-01-23 08:37:03 【问题描述】:

我打算将 Apple Watch 应用添加到我的 ios 应用中。我的大部分代码(数据模型和网络层等)位于两个框架中。我也想在手表应用中使用这些框架。我找到了一些如何为我的框架创建新 watchOS 目标的示例:

    复制框架的现有目标 给它一个唯一的名称(在我的例子中是“RYMUtilsWatchKit”) 将“支持的平台”更改为“watchOS” 将“Base SDK”更改为“Latest watchOS” 将“产品名称”设置为与原始目标相同,以便两个目标使用相同的名称构建(在我的情况下为“RYMUtilsKit”)

然后,我将新的框架目标添加到我的主项目中的手表应用扩展中。

但是,当我构建时,我收到一条错误消息:

项目“RYMUtilsKit”的目标“RYMUtilsKit”被拒绝为 'RYMUtilsKit.framework' 的隐式依赖,因为它没有 在其支持的平台中包含平台“watchsimulator” 'iphonesimulator, iphoneos'

所以它似乎试图为我的手表应用扩展构建错误的目标。它不应该构建“RYMUtilsWatchKit”目标吗?

我显然在这里做错了什么......

【问题讨论】:

【参考方案1】:

如果您可以为 iOSWatchOS 使用具有网络层和数据模型的框架,则无需复制现有框架。您可以为多个平台创建一个框架。在Create Cross Platform Framework 上有一个很好的教程。

【讨论】:

ERROR 410 - The author deleted this Medium story. :(

以上是关于为 iOS 和 watchOS 创建框架目标的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 和 watchOS 2 之间建立一个类似于 Lister App 的具有共享框架的项目?

iOS和watchOS(Objective-C)具有不同方法的相同类对象

WatchOS 3 在收到推送通知时崩溃

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

如何从 Watch App(Watch OS 2)与非活动的 IOS 应用程序通信

如何在 watchOS 应用程序的共享框架中访问资产目录中的颜色?