Swift Watch OS和iOS框架的组合
我创建了一个在iOS和Watch OS之间共享的类。这个很好用。然而,我想把这个类变成一个框架。但这样做只允许将其创建为iOS或Watch OS框架,而不是两者兼而有之。为Watch OS创建它会阻止iOS看到它,反之亦然Swift Watch OS和iOS框架的组合,swift,xcode,Swift,Xcode,我创建了一个在iOS和Watch OS之间共享的类。这个很好用。然而,我想把这个类变成一个框架。但这样做只允许将其创建为iOS或Watch OS框架,而不是两者兼而有之。为Watch OS创建它会阻止iOS看到它,反之亦然 我怎么能有一个iOS和Watch OS都可以使用的单一框架呢?我问了之后,就在文档中找到了答案。。。为了其他人的利益,我不会删除这个问题,而是将答案张贴在这里: 根据苹果的说法,手表和手机之间不能共享框架。具体而言: 在iOS应用程序和watchOS应用程序之间共享代码 您可
我怎么能有一个iOS和Watch OS都可以使用的单一框架呢?我问了之后,就在文档中找到了答案。。。为了其他人的利益,我不会删除这个问题,而是将答案张贴在这里: 根据苹果的说法,手表和手机之间不能共享框架。具体而言: 在iOS应用程序和watchOS应用程序之间共享代码 您可以在iOS应用程序和手表之间共享代码,但不能共享框架 应用程序。因为这些应用程序运行在不同的平台上,具有不同的功能 在体系结构中,源文件必须针对每个 站台。如果您仍然希望使用框架来管理任何共享 源文件,则必须为每个源文件创建单独的框架目标 平台,并将共享源文件添加到每个框架 如果已经有了iOS框架,则可以复制该框架 并对其进行修改以支持watchOS
正如您所说的,您需要创建不同的二进制文件(一个用于iOS,一个用于tvOS,一个用于watchOS)。您可以做的是在不同的目标之间共享源代码,并使用TargetConditionals使用正确的平台编译这些源代码。