Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift Watch OS和iOS框架的组合_Swift_Xcode - Fatal编程技术网

Swift 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或Watch OS框架,而不是两者兼而有之。为Watch OS创建它会阻止iOS看到它,反之亦然


我怎么能有一个iOS和Watch OS都可以使用的单一框架呢?

我问了之后,就在文档中找到了答案。。。为了其他人的利益,我不会删除这个问题,而是将答案张贴在这里:

根据苹果的说法,手表和手机之间不能共享框架。具体而言:

在iOS应用程序和watchOS应用程序之间共享代码

您可以在iOS应用程序和手表之间共享代码,但不能共享框架 应用程序。因为这些应用程序运行在不同的平台上,具有不同的功能 在体系结构中,源文件必须针对每个 站台。如果您仍然希望使用框架来管理任何共享 源文件,则必须为每个源文件创建单独的框架目标 平台,并将共享源文件添加到每个框架

如果已经有了iOS框架,则可以复制该框架 并对其进行修改以支持watchOS


正如您所说的,您需要创建不同的二进制文件(一个用于iOS,一个用于tvOS,一个用于watchOS)。您可以做的是在不同的目标之间共享源代码,并使用TargetConditionals使用正确的平台编译这些源代码。