使用Swift 3在XCode 8中构建WatchOS和iOS的嵌入式框架

问题描述:

我正在将所有原本在Swift 1中编写的iOS + WatchOS 1应用程序移植到最新的XCode 8,WatchOS 3,Swift 3中。使用Swift 3在XCode 8中构建WatchOS和iOS的嵌入式框架

我的应用程序有一个嵌入式框架,它具有一些常用功能,用于为watchkit扩展目标和ios应用程序目标编译和运行文件。

随着XCode 8我再也看不到这个工作。当我尝试在watchkit扩展代码中尝试import框架时,出现module not found错误。

是否仍有可能在目标iOS和WatchKit扩展目标上编译和使用一个嵌入式框架包?在我的框架中,我将目标平台设置为watchos, watchsimulator, iphoneos, iphonesimulator

我的直觉说这是不可能的。原本所有的代码都是真正在手机上运行的,而不是代码在真正的手表和手机上运行,​​您需要为每个手机专门编译一个嵌入式框架。

+0

我需要创建一个应该使用iOS和WatchOS共享的swift框架的新项目。你有没有找到任何解决方案或提示,这个参考? – Dhawal

简版:你不能。创建一个重复的目标并将其设置为使用手表SDK。

加长版从苹果的文档:https://developer.apple.com/library/content/documentation/General/Conceptual/WatchKitProgrammingGuide/iOSSupport.html#//apple_ref/doc/uid/TP40014969-CH21-SW1

包括:

注意

您为WatchKit 扩展独立的框架目标后,必须分开管理框架的内容适用于iOS和watchOS的 。如果您将文件添加到 框架的iOS版本中,请记住将它们添加到watchOS版本。